クロスモジュール変数を作成するには?質問する

クロスモジュール変数を作成するには?質問する

変数__debug__は、すべてのモジュールに影響を与えるため便利です。同じように動作する別の変数を作成したい場合は、どうすればよいでしょうか?

変数 (ここでは独創的に「foo」と呼びます) は、あるモジュールで foo を変更すると他のモジュールでも更新されるという意味で、完全にグローバルである必要はありません。他のモジュールをインポートする前に foo を設定して、他のモジュールでも同じ値が表示されるようにできれば問題ありません。

ベストアンサー1

グローバルなクロスモジュール変数が必要な場合は、単純なグローバル モジュール レベル変数で十分でしょう。

py: ...

var = 1

py: ...

import a
print a.var
import c
print a.var

python: スクリプト:

import a
a.var = 2

テスト:

$ python b.py
# -> 1 2

実際の例:Django の global_settings.py(ただしDjangoアプリでは設定は物体 django.conf.settings)。

おすすめ記事