編集:私がちょうど知ったように、「シングルトン」はPythonではそれほど役に立ちません。pythonは代わりに「Borg」を使用します。http://wiki.python.de/Das%20Borg%20Pattern Borgを使用すると、次のようなさまざまなクラスのグローバル変数を読み書きできました。
b1 = Borg()
b1.colour = "red"
b2 = Borg()
b2.colour
>>> 'red'
しかし、私は次のようなボーグでリストを作成/読み取ることができませんでした:
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」である必要があります。「シングルトン」でこれができると聞きましたが…「シングルトン」の説明が見つかりませんでした。この単純なコードを機能させるにはどうすればよいですか?