类方法:属于类对象的方法,@classmethod
@classmethod
def 类方法名(cls)
类方法:属于类对象的方法,@classmethod
@classmethod
def 类方法名(cls)
类方法:
类方法是从属于“类对象”的方法,类方法通过装饰器@classmethod来定义,格式如下:
@calssmethod
def 类方法名(cls [,形参列表]):
函数体
要点如下:
(1) @calssmethod必须位于方法第上面一行;
(2)第一个cls必须有,cls指的就是“类对象”本身;
(3)调用类方法格式有:“类名.类方法名(参数列表)”,参数列表里,不需要也不能给cls传值
(4)类方法中访问实例属性和实例方法会导致错误
(5)子类继承父类方法时,传入cls是子类对象,为非父类对象
静态方法:
要通过@staticmethod来定义,格式如下:
@staticmethod
def 静态方法名[形参列表]:
函数体
将静态方法放到了类里面,需要通过类调用。
类方法,只操作类属性,不涉及实例属性
@classmethod
def xxx(cls): xxx函数名
类名.xxx()
静态方法,应用于类内,可以强行调用类属性
@staticmethod
def 静态方法名(形参列表)
不能调用实例属性,方法