別のファイルのメソッドを使ってメインファイルのクラス辞書を変更したい。私がこのメソッドを呼び出すと、それは仕事のように機能しますが、辞書がメインファイルから再び呼び出されると、追加されたエントリが失われます。Python:別のファイルのメソッドでクラス変数を変更する
メインファイル、testmain.py:
import testside
class MainClass(object):
objects = {'three': 'four'}
if __name__ == '__main__':
testside.SideClass.add_to('one', 'two') # prints {'three': 'four', 'one': 'two'}
print(MainClass.objects) # prints {'three': 'four'}
サイドファイル、testside.py:
import testmain
class SideClass(object):
@staticmethod
def add_to(name, thing):
testmain.MainClass.objects[name] = thing
print(testmain.MainClass.objects)
私はファイルの外部からのクラス値を変更するには何ができますか?私はMainClass()
のインスタンスを作成したくないことに注意してください。
周期的なインポートを作成しているので、この例はうまくいかないはずです –
ありがとう、私は周期的なインポートについて心配しています。あなたは何かお勧めしますか? – ezlur