Python を簡単に: さまざまなファイル内の変数スペース

Python プログラミングでは、プログラムを適切に構造化するために、さまざまなファイルまたはモジュール内の変数を管理する方法を理解することが重要です。スコープと名前空間に関する質問です。

名前空間とスコープ

まず、名前空間とは何かを理解する必要があります。Python では、名前空間は名前 (変数名、関数名など) からオブジェクトへのマッピングです。注意すべき重要な点は、異なる名前空間の名前間には関係がないということです。したがって、各モジュールには独自の名前空間があるため、2 つの異なるモジュールは両方とも競合することなく変数を定義できますmy_var

たとえば、次の 2 つの Python ファイルについて考えてみましょう。

file1.py 内:

my_var = "Hello from file1"

file2.py 内:

my_var = "Hello from file2"

file1.py と file2.py はmy_var2 つの異なる変数です。これらは異なる名前空間に存在し、相互に干渉しません。

モジュール間で変数をインポートする

各モジュールには独自の名前空間がありますが、Python では import ステートメントを使用して、あるモジュールの変数に別のモジュールにアクセスできます。

file1.py 内:

my_var = "Hello from file1"

file2.py 内:

from file1 import my_var
print(my_var)  # 这将输出:Hello from file1

ここで、file2.py の my_var はインポートされたものであるため、file1.py の my_var と同じです。ただし、後で my_var が file2.py で再定義された場合、この変更は file1.py の元の my_var には影響しません。

おすすめ

転載: blog.csdn.net/robot_learner/article/details/131875449