変数__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
)。