Python で複数のファイル間でグローバル変数を使用する

この簡単なガイドは、Python の複数のファイルにわたるグローバル変数の使用について説明しています。ただし、本題に入る前に、グローバル変数と複数のファイルにわたるその目的について簡単に見てみましょう。
Python のグローバル変数

グローバル変数は、関数のスコープに属さない変数であり、プログラム全体で使用できます。これは、グローバル変数が関数本体の内部または外部でも使用できることを示しています。

例を見てみましょう:

x = "my global var"
def fun1():
    print("Inside fun1(): ",x)
fun1()
print("In global context: ",x)

このコードでは、グローバル変数 x を定義し、それに値を割り当てます。次に、関数の内側と外側に x 変数を出力して、両方の範囲の値を確認しました。

出力:
ここに画像の説明を挿入
出力は、変数の値が関数の内部と外部で同じであることを示します。関数などのローカル スコープでグローバル変数の値を変更する必要がある場合は、変数を宣言するときにキーワード global を使用する必要があります。

複数のファイル間でグローバル変数を使用する

プログラムが複数のファイルを使用しており、これらのファイルが変数を更新する必要がある場合は、次のように global キーワードを使用して変数を宣言する必要があります。

global x = "My global var"

Python コードの複数のファイルと学生のリストのグローバル変数を処理する必要がある例を考えてみましょう。resource.py ファイルには学生のグローバル リストがあり、prog.py にはこのグローバル リストに学生を追加するメソッドがあります。

この概念は次のコードで実装できます。

コードリソース.py:

def initialize():
    global students
    students = []

コード-prog.py:

import resource
def addStudent():
    resource.students.append('John')
    resource.students.append('Dave')

コード-Main.py:

#Python小白学习交流群:711312441
import resource
import prog
resource.initialize()
prog.addStudent()
print(resource.students[0])
print(resource.students[1])

最初の resource.py ファイルでは、リスト StudentList を宣言し、それを空のリストに初期化する関数を定義します。次のファイル (prog.py) では、リソース モジュールをインクルードし、グローバル リスト StudentList に 2 つのオブジェクトを追加する関数 addStudent を定義します。

メイン ファイル Main.py には、resource と prog の 2 つのモジュールが含まれています。その後、これら 2 つのモジュールの関数 initialize と addStudent をそれぞれ呼び出しました。

その後、リスト インデックスを出力すると、次の出力が得られます。
ここに画像の説明を挿入
したがって、global キーワードを使用して、ある Python ファイルでグローバル変数を定義し、他のファイルで使用することができます。ここで、あるファイルのグローバル変数に別のファイルでアクセスするには、グローバル変数を含むファイルを別のファイルのモジュールとしてインポートし、追加の複雑な操作を行わずに、インポートされたモジュールのグローバル変数に直接アクセスします。

おすすめ

転載: blog.csdn.net/qdPython/article/details/131998855