class MyClass:
class_var = 0 # 类变量
def __init__(self, value):
self.value = value
@classmethod
def set_class_var(cls, new_value):
# cls 参数指向类本身,而不是实例
cls.class_var = new_value
# 解释说明:
# @classmethod 装饰器用于定义类方法。类方法的第一个参数是 cls,它指向类本身,而不是类的实例。
# 这意味着类方法可以通过类名直接调用,也可以通过实例调用,并且可以在方法内部修改类变量。
# 示例:
MyClass.set_class_var(10) # 通过类名调用类方法
print(MyClass.class_var) # 输出: 10
obj = MyClass(5)
obj.set_class_var(20) # 通过实例调用类方法
print(MyClass.class_var) # 输出: 20
上一篇:python 多态
下一篇:python 格式化
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站