对于初学者来说,python面向对象编程是比较简单易学的,但是其中有些概率可能比较模糊。最近在看《efficient python》这本书,借此对这一块的知识梳理一下。
1、对象
对象是一个大的概念,笼统地说对象就是数据结构,数据结构里有方法属性等,可以说是语言的基础。
2、类
类由Class定义,继承于对象
3、实例
实例是类的具体表现,如定义了一个Student类,实例Student_A是由student类创建的,有类的共有特性又有自己的特有属性
4、类的属性
类属性是在构造函数__init__(),之外定义的属性
5、实例属性
实例属性在构造函数__init__()内定义的属性,用self代表实例本身
6、类的方法
使用装饰器@classmethod
函数第一个参数为cls,可以用于函数内部访问类属性
类的方法不需要对类实例后才能使用
7、实例的方法
函数第一个参数为self,可以用于函数内部访问实例属性
实例方法只能通过实例访问
8、类的静态方法
类的静态方法与类的方法相似,区别在于类的方法需要访问类的属性,第一个参数为cls;静态方法不需要访问类的属性,可以有参数也可以无参数
使用装饰器@staticmethod