类变量、实例方法、实例属性、初始化方法、类方法、静态方法
1、类变量
类变量是类的属性,此属性属于类,不属于此类的实例
作用: 通常用来存储该类创建的对象的共有属性
注:
【1】类变量可以通过该类直接访问
【2】类变量可以通过类的实例直接访问
【3】类变量可以通过此类的对象的__class__属性间接访问
【4】类的实例方法访问类变量要用 【self.变量名】访问
【5】类方法访问类变量要用【cls.变量名】访问
In [141]: classA:
...: v=0
...:
...: @classmethod
...:def get_v(cls): #cls 用来绑定调用此方法的类
...: return cls.v #访问类变量
...:
...: @classmethod
...:defset_v(cls, value):
...: cls.v=value
...:
...:
...:print(A.get_v()) #0 ,【1】通过类访问变量v
...: A.set_v(100)
...:print(A.get_v()) #100
...: a1 = A() #创建实例
...: print("a1.get_v() =", a1.get_v()) #100
...: a1.set_v(200)
...:print("a1.get_v() =", a1.get_v()) #200
...: print(a1.v) #200,【2】通过类的实例访问变量 v
...: print(a1.__class__.v) #200 ,【3】通过类的__class__属性间接访问变量v
...: print('A.get_v() =', A.get_v())
0100a1.get_v()= 100a1.get_v()= 200
200
200A.get_v()= 200
2、【实例方法】
用于描述一个对象的行为,让此类型的全部对象都拥有相同的行为
【1】 实例方法实质是函数,是定义在类内的函数
【2】 实例方法至少有一个形参有,第一个形参代表调用这个方法的实例,一般命名为 'self'
【实例方法调用】
【1】实例.实例方法名(调用传参) #调用传参,调用实例方法需要传递的参数
【2】类名.实例方法名(实例,调用传参)
class 类名(继承列表):
def 实例方法名(self, 参数1, 参数2, ...):
'文档字符串'
pass
In [143]: #此示例示意实例方法的创建和调用
...: classDog:
...:'''这是一种小动物的定义
...: 此类动物有吃(eat)的行为:
...:
...:'''...:defeat(self, food):
...:''