ホームページ > バックエンド開発 > Python チュートリアル > 複数の Python ファイル間でグローバル変数を効果的に共有するにはどうすればよいですか?

複数の Python ファイル間でグローバル変数を効果的に共有するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-07 08:56:12
オリジナル
764 人が閲覧しました

How Can I Effectively Share Global Variables Between Multiple Python Files?

ファイル間でのグローバル変数の共有

ソフトウェア開発では、複数のファイルにわたってグローバル変数を定義すると、ある程度の複雑さが生じる場合があります。この課題に対処するには、グローバル変数の概念と制限を理解することが重要です。

グローバル変数は、関数またはクラスのスコープ外で、通常はモジュール レベルで宣言される変数です。これらはモジュール内のどこからでもアクセスできます。ただし、これにより、複数のファイル間でグローバル変数を共有するときに潜在的な問題が発生する可能性があります。

次の例を考えてみましょう:

# main.py
global myList
myList = []
import subfile
subfile.stuff()
print(myList[0])
ログイン後にコピー
# subfile.py
def stuff():
    globals()["myList"].append("hey")
ログイン後にコピー

このコードは、で定義されたグローバル変数 myList を使用しようとしています。 subfile.py内のmain.py。ただし、subfile.py には myList に関する知識がないため、このアプローチは失敗します。これを解決するには、別のアプローチが必要です。

Python の場合、よりクリーンな解決策は、グローバル変数を別のモジュールに集中化することです。

# settings.py
def init():
    global myList
    myList = []
ログイン後にコピー

次に、グローバル変数をインポートして初期化します。その他のファイル:

# subfile.py
import settings
def stuff():
    settings.myList.append('hey')
ログイン後にコピー
# main.py
import settings
settings.init()          # Initialize global var once
subfile.stuff()         # Do stuff with global var
print settings.myList[0] # Check the result
ログイン後にコピー

settings.py でグローバル変数の定義と初期化を分離することで、グローバル変数が一度だけ初期化され、他のすべてのモジュールからアクセス可能です。このアプローチは、複数のファイル間でグローバル変数を共有する構造化された保守可能な方法を提供します。

以上が複数の Python ファイル間でグローバル変数を効果的に共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート