- 定义在class内的普通方法,都是 实例方法。
- 普通方法头上加注解 @classmethod,第一个行参变成了 cls (保存类的引用),就是 类方法。
- 类方法的调用:1⃣️可用通过类名调用。2⃣️也可以通过对象调用。
- 不管用什么调用,类方法的第一个行参指向的都是类对象。 - 静态方法,是在普通方法头上加注解 @staticmethod,没有固定行参。
- 调用静态方法:1⃣️可用通过类名调用。2⃣️也可以通过对象调用。
- Snip20181007_16.png
- 如果要操作类属性,那么就创建类方法。
- 如果要操作实例属性,那么就创建实例方法。
- 既和类属性没有关系,又和实例属性没有关系,就创建静态方法。