Python classmethod()内置函数 --把一个方法封装成类方法

@classmethod 把一个方法封装成类方法,类方法把 cls 即类自己作为第一个实参,可以用来调用类的方法、类的属性,不需要实例化。@classmethod 这样的形式称为函数的装饰器

参考资料

实例(python3.8.8)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class main():

变量 = 1111

@classmethod
def 函数1(cls):
print(2222)

@classmethod
def 函数2(cls):
# 调用类属性
print(cls.变量)
# 调用类方法
cls.函数1()

# 可不实例化调用类方法
main.函数1()
main.函数2()

# 也可实例化后调用类方法
main().函数1()
main().函数2()


''' 输出
2222
1111
2222
2222
1111
2222
'''

类方法在使用类中的函数或变量时前面要加上 cls.

类方法指类中的函数,类属性指类中的变量