• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

22 - 装饰器 - @classmethod - 类 - 可以找类参数

作者:

贺及楼

成为作者

更新日期:2024-10-27 12:16:22

@classmethod

classmethod 使用

@classmethod 是 Python 中的一个装饰器,用于将方法定义为类方法。类方法的第一个参数通常是 cls,代表类本身,而不是类的实例。这使得类方法可以访问和修改类的状态,例如修改类变量或创建类的实例。类方法常用于需要基于类而不是实例进行操作的场景,如工厂方法、多继承初始化等。

  1. class People:
  2. name = '小明'
  3. @classmethod
  4. def say_hello(cls):
  5. print('同学你好, 我是' + cls.name)
  6. print(cls)
  7. People.say_hello() # 同学你好, 我是小明
  8. <class '__main__.XiaoMing'>

classmethod 依旧是用于类中的方法,这表示这个方法将会是一个类方法
意味着该方法可以直接被调用无需实例化
但同样意味着它没有 self 参数
也无法访问实例化后的对象
相对于 staticmethod 的区别在于它会接收一个指向类本身的 cls 参数。