- 普通方法的调用
class C: def f1(self): pass obj = C() #使用对象调用 obj.f1() #使用类调用 C.f1(obj)
- 静态方法的调用
class C: @staticmethod def f1(): pass C.f1()
- 使用装饰器@staticmethod之后,普通的方法变成了静态的方法,区别在于静态方法不再需要传递self参数
- 类对于静态方法,比之于模块对于函数,在使用方式上,是直接通过 类名.方法名() 模块名.函数名() 调用
- 类方法
class C:
@classmethod
def f1(cls):
print(cls)
C.f1()
- 类方法与静态方法的区别在于,方法的参数需要传递一个固定的形参cls,这个形参就是类本身
- print(cls) 打印 <class '__main__.C'>