1. ホーム
  2. python

[解決済み] モジュール間変数を作るには?

2022-08-04 12:38:50

質問

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

変数(オリジナルで'foo'と呼ぶことにしましょう)は、私があるモジュールでfooを変更したら、他のモジュールでも更新されるという意味で、本当にグローバルでなくてもかまいません。他のモジュールをインポートする前に foo を設定すれば、他のモジュールにも同じ値が表示されるのであれば問題ないでしょう。

どのように解決するのですか?

私はこの解決策をいかなる形でも支持するものではありません。 しかし、もしあなたが変数を __builtin__ を含む他のモジュールから、あたかもグローバルにアクセスできるようになります。 __builtin__ -- を含む他のモジュールからグローバルにアクセスできるようになります。

a.pyには

print foo

b.pyには

import __builtin__
__builtin__.foo = 1
import a

結果、"1"が出力されます。

編集してください。 その __builtin__ モジュールは、ローカルシンボルである __builtins__ -- というように、2つの答えの間に食い違いがあるのはそれが原因です。また、以下の点にも注意してください。 __builtin__ は名前を変えて builtins に変更されました。