hand
_1_5_54
4
返回栏目
1k
9k
1k
1k
5k
1k
1k
1k
1k
3k
2k
1k
0.8k
2k
3k
1k
1k
0.7k
0.9k
1k
0.6k
0.4k
0.4k
0.3k
3k
2k
9k
0.4k
0.4k
0.8k
0.5k
3k
5k
1k
2k
2k
3k
5k
1k
1k
0.4k
0.5k
0.4k
0.6k
0.7k
1k
0.4k
0.3k
4k
0.5k
0k
0.3k
0k
0.2k
0.2k
0.3k
0.9k
0.9k
0.1k
0.9k
0.9k
1k
0.5k
6k
0.3k
0.4k
0.7k
0.6k
8k
3k
1k
1k
1k
1k
0k
2k
1k
1k
0.2k
5k
4k
5k
0.4k
0.8k
1k
1k
1k
0.1k
2k
1k
2k
6k
0k
2k
7k
1k
5k
2k
3k
1k
0k
1k
0.9k
0.4k
0.2k
1k
3k
4k
1k
1k
1k
2k
3k
0.7k
0.3k
0.5k
0.6k
1k
0.9k
3k
0.3k
4k
返回python栏目
作者:
贺及楼
成为作者
更新日期:2024-10-27 12:16:22
@classmethod
是 Python 中的一个装饰器,用于将方法定义为类方法。类方法的第一个参数通常是 cls
,代表类本身,而不是类的实例。这使得类方法可以访问和修改类的状态,例如修改类变量或创建类的实例。类方法常用于需要基于类而不是实例进行操作的场景,如工厂方法、多继承初始化等。
class People:
name = '小明'
@classmethod
def say_hello(cls):
print('同学你好, 我是' + cls.name)
print(cls)
People.say_hello() # 同学你好, 我是小明
<class '__main__.XiaoMing'>
classmethod 依旧是用于类中的方法,这表示这个方法将会是一个类方法
意味着该方法可以直接被调用无需实例化
但同样意味着它没有 self 参数
也无法访问实例化后的对象
相对于 staticmethod 的区别在于它会接收一个指向类本身的 cls 参数。
python
整章节共122节
快分享给你的小伙伴吧 ~