Python3 @classmethod 函数装饰器 声明一个类方法
@classmethod函数装饰器的主要作用是将一个类的普通方法(需要实例化使用)声明为一个类方法(可以直接使用类名调用)。在类的功能扩展(包括功能的整合以及类的继承),代码整洁度,后期的可维护性起到一定的帮助。虽然类方法也可以在实例化后,使用实例化对象进行调用,但这是不赞成的,因为这样会容易将它和普通的实例化方法混淆,后期代码不利于维护。具体是否使用以及其是方法方式还需要根据业务的实际需要决定。
它是Python的内置函数,在python文件中直接可以使用。它只能被应用在类(class)中。
语法
class main:
@classmethod
def run(cls, arg1, arg2, ...):
...
参数
cls(必须) - 当前类本身
arg1,arg2 - 自定义参数
实例
§ 实例1 - @classmethod的使用方法
代码及运行结果:
#先声明类
class main:
#普通方法
def set(self, x):
print(x)
#类方法
@classmethod
def run(cls, n):
print(n)
#普通方法需要实例化后才能调用
o = main()
o.set('abc')
#输出
abc
#类方法可以直接使用&#x