这两个班级有何不同?
class A():
x=3
class B():
def __init__(self):
self.x=3
Run Code Online (Sandbox Code Playgroud)
有什么显着差异吗?
我想通过计数器跟踪,每次实例化一个类。我试图通过从类的构造函数 ala 增加定义为类变量的计数器来做到这一点:
class Cl:
cntr = 0
def __init__(self):
cntr += 1
Run Code Online (Sandbox Code Playgroud)
但是,当我实例化该类时,我得到一个“UnboundLocalError:分配前引用的局部变量‘cntr’”我假设这是因为构造函数将其视为局部变量。如何从 Python 2.7 中的方法或构造函数内部引用类变量?