クロスモジュール変数に関連する他の質問があるようですが、それらは私の質問に完全には答えていません。
主に読みやすさと保守性を高めるために、3 つのモジュール + 1 つのメイン アプリケーションに分割したアプリケーションがあります。
これらのモジュールのうち 2 つには、他のモジュールおよび他のモジュール スレッドから変更する必要がある変数を持つスレッドがあります。
メインコードからモジュールの変数を変更できますが、すべてのモジュールを他のすべてのモジュールにインポートしない限り、あるモジュールの変数を別のモジュールから変更できないようです。
a&b が main にインポートされ、モジュール a がモジュール b の変数にアクセスする必要がある以下の例:
main
module a
var a
module b
var a
main
a.a = 1
b.a = 2
module a
b.a = 3
module b
a.a = 0
モジュール a をモジュール b にインポートし、モジュール b をモジュール a にインポートせずに、これをメイン プログラムを通じてグローバルに実現できますか?
a と b をメインにインポートしてから、a を b にインポートし、b を a にインポートする必要がある場合、メモリとリソースの使用量/速度などに関してどのような影響がありますか?
@abarnert からの提案を試しました。
#moda
vara = 10
#modb
print(str(vara))
#main
import moda
from moda import vara
import modb
ただし、「name error vara is not defined」が表示されます