我希望有一个可由多个对象实例访问的全局变量x
:
模块Obj
应该具有以下内容:
x = 0
class Obj:
def set_x(self):
global x
x = 2
def print_x(self):
print x
...等
另一个模块(例如:main)实例化对象obj:
obj1 = Obj.Obj()
obj1.set_x()
obj2 = Obj.Obj()
obj2.print_x
这应该打印2
答案 0 :(得分:2)
我认为你正在寻找类似静态变量的东西(我不确定它们在Python中被称为什么)。你尝试过类似的东西吗?
class Obj:
x = 0
def set_x(self):
Obj.x = Obj.x + 1
def print_x(self):
print Obj.x
试验:
>>> obj1 = Obj()
>>> obj1.set_x()
>>> obj1.print_x()
1
>>> obj2 = Obj()
>>> obj2.set_x()
>>> obj2.print_x()
2
>>> obj1.print_x()
2
您应该看到this SO post了解更多信息。