zoukankan      html  css  js  c++  java
  • 类方法@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
    
    
    输出结果:
    tarena@tedu:~/zengsf$ python3 exercise824.py
    A.v =  0
    A.v =  100
    100
  • 相关阅读:
    2804 最大最小数质因数
    5429 多重背包
    1851 越狱
    Gvim使用
    3622 假期
    4906 删数问题
    2845 排序的代价
    poj 3352
    常用正则表达式汇总
    功能简单例子
  • 原文地址:https://www.cnblogs.com/zengsf/p/9532303.html
Copyright © 2011-2022 走看看