两种方法的用法
class MyClass():
@staticmethod
def method1(*args):
pass
@classmethod
def method2(cls, *args):
pass
一般我们在Python中使用类的时候,会带上self参数,表示当前的对象。但是经过静态方法和类方法装饰之后,函数都不带self参数了。
@staticmethod
如果用不到类的变量,就可以考虑使用静态方法。准确来说,静态方法用不到类中的数据,它仅仅是因为逻辑上的需要被归并到该类中。
@classmethod
如果用不到实例的变量,就可以考虑使用类方法。静态方法与类绑定,不与实例绑定,主要用于修改类的数据和行为。