Skip to main content
 首页 » 编程设计

python之是否可以从 Python 的构造函数内部递增/访问类变量

2025年05月04日14haluo1

每次实例化类时,我都想通过计数器进行跟踪。我试图通过从类的构造函数 ala 内部递增定义为类变量的计数器来做到这一点:

class Cl: 
   cntr = 0 
   def __init__(self): 
      cntr += 1 

但是,当我实例化该类时,我得到一个“UnboundLocalError:局部变量‘cntr’在赋值之前被引用”,我假设这是因为构造函数将其视为局部变量。如何在 Python 2.7 中从方法或构造函数内部引用类变量?

请您参考如下方法:

你只需要通过类调用变量:

class Cl: 
    cntr = 0 
    def __init__(self): 
        Cl.cntr += 1  # <---Like this 
 
 
print(Cl().cntr)  # prints 1 
print(Cl().cntr)  # prints 2 
print(Cl().cntr)  # prints 3