我想访问类A
中的变量number_of_messages
,但即使我使用了global关键字,也会出现"number_of_messages" is not defined
错误。这是一个代码示例:
class A:
number_of_messages=0;
def inc(self):
global number_of_messages
number_of_messages+=1
print(A().inc())
改为使用class属性:
class A:
def ___init__(self):
self.number_of_messages=0
def inc(self):
self.number_of_messages+=1
a = A()
print(a.inc())
print(a.number_of_messages)
但你也可以:
number_of_messages = 0
class A():
def inc(self):
global number_of_messages
number_of_messages+=1
a = A()
a.inc()
print(number_of_messages)
您只是忘记在全局范围中声明变量
这不是全局的。这是一个类属性。写入
def inc(self):
A.number_of_messages += 1
你不需要全球声明。