「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python でモジュール間の変数アクセシビリティを確立する方法: インスタンスを共有せずに変数を共有する?

Python でモジュール間の変数アクセシビリティを確立する方法: インスタンスを共有せずに変数を共有する?

2024 年 11 月 8 日に公開
ブラウズ:186

How to Establish Cross-Module Variable Accessibility in Python: Sharing Variables Without Sharing Instances?

クロスモジュール変数のアクセシビリティの確立

Python では、便利なクロスモジュール変数は __debug__ です。ただし、同様の機能を持つカスタム変数を作成するのは難しいように思えるかもしれません。この記事では、このトピックを詳しく掘り下げ、不変性を維持しながらモジュール間で共有変数を定義する方法を検討します。

解決策: グローバル モジュール レベル変数の活用

確立するには共通の変数インスタンスを共有せずにモジュール間変数を使用する場合は、グローバル モジュール レベル変数の使用を検討してください。これらの変数はモジュール内で定義および割り当てられ、それをインポートする他のモジュールからアクセスできるようになります。依存モジュールをインポートする前に変数を割り当てることで、プロジェクト全体で一貫した値を確立できます。

例を以下に示します。

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
# Output
1
2

この例では、変数 var がモジュール a.py で定義されており、インポート時にモジュール b.py にアクセスできるようになります。モジュール c.py が var の値を変更しても、モジュール b.py は元の値を保持します。

Real-World Application

Django は、次の実用的なユースケースを提供します。共有モジュールレベル変数。その global_settings.py モジュールは、設定が単一の共有オブジェクトではなくモジュール属性として公開される例として機能します。

この手法を採用することで、変数の整合性を維持し、モジュール コードを簡素化しながら、モジュール間の変数共有を実現できます。組織。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3