类方法
类方法是从属于 "类对象" 的方法. 类方法通过装饰器 @classmathod 来定义, 格式如下:
@classmethod
def 类方法(cls [,形参列表]):
函数体
要点如下:
1. @classmethod 必须位于方法上面一行
2. 第一个 cls 必须有, cls 指的是 "类对象" 本身
3. 调用类方法格式: "类名.类方法名 ( 参数列表 )". 参数列表中, 不需要也不能给 cls 传值.
4. 类方法中访问实例属性和实例方法会导致错误
5. 子类继承父类方法时, 传入 cls 是子类对象, 而非父类对象
执行结果:
静态方法:
Python 中允许定义与 "类对象" 无关的方法, 称为 "静态方法".
"静态方法" 和在模块中定义普通函数没有区别, 只不过 "静态方法" 放到了 "类的名字空间里面", 需要通过 "类调用".
静态方法通装饰器 @staticmethod 来定义, 格式如下:
@staticmethod
def 静态方法名 ([形参列表]):
函数体
要点如下:
1. @staticmethod 必须位于方法上面一行
2. 调用静态方法格式: "类名.静态方法名 (参数列表)"
3. 静态方法中访问实例属性和实例方法会导致错误
执行结果: