ホームページ  >  記事  >  バックエンド開発  >  この記事に適合する質問ベースのタイトルをいくつか示します。 * グローバル スコープを使用せずに Python でクロスモジュール変数を実現するにはどうすればよいですか? * Python の「__debug__」をカスタム C に置き換える

この記事に適合する質問ベースのタイトルをいくつか示します。 * グローバル スコープを使用せずに Python でクロスモジュール変数を実現するにはどうすればよいですか? * Python の「__debug__」をカスタム C に置き換える

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 16:42:02397ブラウズ

Here are some question-based titles that fit the article:

* How to Achieve Cross-Module Variables in Python Without Using a Global Scope?
* Replacing Python's

グローバル スコープを使用しないクロスモジュール変数の実現

Python では、__debug__ 変数はすべてのモジュールにわたる便利なツールの役割を果たします。その利点を再現することを目的として、foo という名前のカスタム変数を作成して、同様の機能を実現できます。ただし、__debug__ とは異なり、foo は真にグローバルである必要はなく、リンクされたモジュールをインポートする前でも値を設定できます。

これを実現するには、単純なグローバル モジュール レベル変数で十分です。以下に例を示します。

# a.py
var = 1
# b.py
import a
print(a.var)
import c
print(a.var)
# c.py
import a
a.var = 2

Python b.py として実行すると、出力は 1 2 を読み取り、モジュール間で var が普遍的に可視であることを示します。

このアプローチこれは、インポートされたオブジェクト django.conf.settings.

を介して設定にアクセスする Django の global_settings.py などのシナリオで役立つことがわかります。

以上がこの記事に適合する質問ベースのタイトルをいくつか示します。 * グローバル スコープを使用せずに Python でクロスモジュール変数を実現するにはどうすればよいですか? * Python の「__debug__」をカスタム C に置き換えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。