Manager クラスを定義するモジュールがあります。モジュールでこのクラスのインスタンスを作成し、モジュールをこのクラスの「グローバル インスタンス」として機能させたいと考えています。例えば:
class Manager:
def func(self):
print('stuff')
instance = Manager()
def func():
instance.func()
module.x が module.instance.x を返すようにする方法はありますか? (モジュールレベルのプロパティのようなもの)
更新:この質問の回答は、私のユースケースの半分しかカバーしていません(つまり、重複ではなく、その質問が求めていることは異なります)。また、モジュールの属性も使用できるようにする必要があります。例:
class Manager:
def __init__(self):
self.x = 3
def func(self):
print('stuff')
sys.modules[__name__] = Manager()
>>> module.func
<func>
>>> module.x
3
>>> module.Manager
AttributeError