类方法@classmethod
Posted zengsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类方法@classmethod相关的知识,希望对你有一定的参考价值。
类方法 @classmethod
类方法是用于描述类的行为的方法,类方法属于类,不属于类的实例
说明:
类方法需要使用@classmethod装饰器定义
类方法至少有一个形参,第一个形参用于绑定类,约定写为‘cls‘
类和该类的实例都可以调用类方法
类方法不能访问此类创建的实例的属性
class A: v = 0 # 类变量(类属性) @classmethod def get_v(cls): #如果是类方法,那么函数的第一个参数一定是cls,因此cls.变量名,就可以调用类变量 return cls.v # 用cls访问变量v @classmethod def set_v(cls, x): cls.v = x print("A.v = ", A.get_v()) #调用类方法得到类变量的值 A.set_v(100) print("A.v = ", A.get_v()) a = A() #a绑定A类型的一个实例对象 print(a.get_v()) #此类的实例也可以用该类方法 a.__class__传给cls 输出结果: [email protected]:~/zengsf$ python3 exercise824.py A.v = 0 A.v = 100 100
以上是关于类方法@classmethod的主要内容,如果未能解决你的问题,请参考以下文章
python 类中staticmethod,classmethod,普通方法
python类方法@classmethod与@staticmethod