次のように、モジュールのトップレベルでクラスWorld
のインスタンスを作成することで簡単に実行できます。World
World
#module named World
class World():
def __init__(self):
self.world = Atlas()
world = World()
これimport World
で、他のモジュールのいずれかでWorld.world
、クラスの唯一のインスタンスとして使用できますWorld
。これは少し混乱します。これはクラスが作成World.world.world
する のインスタンスでAtlas
あるためWorld
、そこで名前を変更することを強くお勧めします。
Greek_gods
モジュールは次のようになります。
#module named Greek_gods
import World
class zeus():
world = World.world.world
world
クラスの初期化子に入れる代わりにzeus
、クラス属性にしたことに注意してください。Atlas
これは、このインスタンス (何らかの理由で と呼ばれるworld
) をすべてのzeus
インスタンス間で共有したいように見えるためです。Greek_gods
これがどのように見えるかの例として、次のコードをチェックしてください (テストのためにモジュールに入れることができます):
z1 = zeus()
z2 = zeus()
assert World.world.world is z1.world is z2.world