classmethod(cls), staticmethod() 类方法和静态方法。
一个例子搞定类方法和静态方法的作用
classmethod(cls)和staticmethod() 都可以不实例化对象而调用类中的方法。
class Func(object):
def f1(self):
print("f1")
@classmethod
def f2(cls):
print("f2")
@staticmethod
def f3():
print("f3")
Func.f1() # TypeError 因为缺少self对象参数
Func.f2()
Func.f3()
obj = Func() # 实例化一个对象
obj.f1()
>>> TypeError: f1() missing 1 required positional argument: 'self'
>>> f2
>>> f3
>>> f1