@classmethod 与 @staticmethod这两个方法很容易混淆,因为使用时都是通过类名直接调用其方法,与实例无关。下面记录下两者的区别。
@classmethod
在Python中,@classmethod
是一个装饰器,用于将一个方法标记为类方法。类方法是与类关联的方法,而不是与类的实例关联的方法。
使用@classmethod
装饰器可以使方法在类级别上执行,而不是在实例级别上执行。这意味着你可以直接通过类名调用该方法,而不是通过类的实例调用该方法。
下面是一个简单的示例,展示了如何使用@classmethod
装饰器:
class MyClass:
@classmethod
def my_classmethod(cls, arg1, arg2):
return</