@classmethod装饰器
定义: 在 Python 里,@classmethod 是一个内置的装饰器,它能够把一个方法转变为类方法。类方法和实例方法有所不同,主要体现在以下几个方面:
调用方式
- 实例方法:需要先创建类的实例,再通过实例去调用该方法。
- 类方法:可以直接通过类名来调用,无需创建类的实例。
参数传递
- 实例方法:第一个参数通常是 self,它代表类的实例对象。
- 类方法:第一个参数通常是 cls,它代表类本身。
代码示例:
class MyClass:class_variable = 10@classmethoddef class_method(cls):print(f"这是一个类方法,类变量的值是 {cls.class_variable}")# 可以通过 cls 修改类变量cls.class_variable = 20# 直接通过类名调用类方法
MyClass.class_method()# 再次访问类变量,验证其值是否被修改
print(f"调用类方法后,类变量的值变为 {MyClass.class_variable}")