Python中如何区分类方法和静态方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1173个文字,预计阅读时间需要5分钟。
1. 类方法+类方法是从类对象的方法。类对象可以通过装饰器`@classmethod`来定义。基本格式如下:python@classmethoddef 类方法名(cls, [形参列表]): # 方法体`@classmethod`必须位于方法定义的最前面。
1.类方法
类方法是从属于"类对象"的方法。类对象可以通过装饰器@classmethod来定义,具体格式如下:
@classmethod def 类方法名(cls [, 形参列表]): 方法体
要点如下:
- @classmethod必须位于方法的上面一行
- 第一个参数cls(class的缩写,和前面笔记介绍的self类似),必须要有,代指"类对象"本身。
- 调用类方法格式:类名.类方法名(参数列表)。参数列表中不需要也不能给cls参数进行传值,解释器会自动赋值。
- 类方法中可以访问实例属性和实例方法会导致错误,因为有类不一定有对象。
- 子类继承父类方法时,传入cls是自身对象,而非父类对象。
本文共计1173个文字,预计阅读时间需要5分钟。
1. 类方法+类方法是从类对象的方法。类对象可以通过装饰器`@classmethod`来定义。基本格式如下:python@classmethoddef 类方法名(cls, [形参列表]): # 方法体`@classmethod`必须位于方法定义的最前面。
1.类方法
类方法是从属于"类对象"的方法。类对象可以通过装饰器@classmethod来定义,具体格式如下:
@classmethod def 类方法名(cls [, 形参列表]): 方法体
要点如下:
- @classmethod必须位于方法的上面一行
- 第一个参数cls(class的缩写,和前面笔记介绍的self类似),必须要有,代指"类对象"本身。
- 调用类方法格式:类名.类方法名(参数列表)。参数列表中不需要也不能给cls参数进行传值,解释器会自动赋值。
- 类方法中可以访问实例属性和实例方法会导致错误,因为有类不一定有对象。
- 子类继承父类方法时,传入cls是自身对象,而非父类对象。

