我想通过计数器跟踪,每次实例化一个类。我试图通过从类的构造函数 ala 增加定义为类变量的计数器来做到这一点:
class Cl:
cntr = 0
def __init__(self):
cntr += 1
Run Code Online (Sandbox Code Playgroud)
但是,当我实例化该类时,我得到一个“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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |