メインファイル.py
from resources import *
alist[0].update()
print (blist)
resources.py
class a:
def __init__(self):
self.x=0
def update(self):
global blist
blist=blist+[b()]
class b:
def __init__(self):
self.y=0
blist=[]
alist=[a()]
このプログラムは、alist[0].update() が呼び出されたときに blist にクラス b の新しいインスタンスを作成する必要がありますが、print(blist) を実行した後は空のリストしか表示されません。クラス a がこのように定義されている同じコードも試しました
class a:
def __init__(self):
self.x=0
global blist
blist=blist+[b()]
def update(self):
pass
リストbにインスタンスが正常に作成されます。コンストラクターではなく関数を使用して別のインスタンスを作成するために本当に必要なのですが、どうすればよいですか? どんなコメントでも大歓迎です!
PS これは、複数のソース コード ファイルを実行している場合にのみ発生します。