编辑:正如我刚刚发现的那样,“Singleton”在 python 中并没有那么有用。python 改用“Borg”。http://wiki.python.de/Das%20Borg%20Pattern使用 Borg 我能够从不同的类中读取和写入全局变量,例如:
b1 = Borg()
b1.colour = "red"
b2 = Borg()
b2.colour
>>> 'red'
但是我无法使用 borg 创建/读取列表,例如:
b1 = Borg()
b1.colours = ["red", "green", "blue"]
b2 = Borg()
b2.colours[0]
这是 Borg 不支持的东西吗?如果是:如何创建可以从不同类读取和写入的全局列表?
原始问题:
我想从不同的类中读取和写入全局变量。伪代码:
class myvariables():
x = 1
y = 2
class class1():
# receive x and y from class myvariables
x = x*100
y = y*10
# write x and y to class myvariables
class class2():
# is called *after* class1
# receive x and y from class myvariables
print x
print y
printresult 应该是“100”和“20”。我听说“Singleton”可以做到这一点......但我没有找到“Singleton”的任何好的解释。我怎样才能使这个简单的代码工作?