ホームページ >バックエンド開発 >Python チュートリアル >「pickle」または「io」を使用せずに、Python ファイル間でグローバル変数を共有するにはどうすればよいですか?

「pickle」または「io」を使用せずに、Python ファイル間でグローバル変数を共有するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-25 19:03:10165ブラウズ

How Can I Share Global Variables Between Python Files Without Using `pickle` or `io`?

pickle または io 書き込みを使用しないファイル間でのグローバル変数の使用

グローバル変数は、プログラムの複数の部分でデータを共有する便利なメカニズムを提供します。ただし、あるファイルで定義されたグローバル変数に別のファイルからアクセスするのは難しい場合があります。

次のシナリオを考えてみましょう: 複数のファイルを含むプロジェクトがあり、それらのすべてからアクセスできるグローバル変数を定義したいとします。 .

方法 1: 間接アクセス

ファイル間でグローバル変数を使用する場合の難しさは次のとおりです。モジュールの分離。 Python のモジュールは独立して実行されるため、1 つのモジュールでグローバル変数を定義しても、そのグローバル変数が他のモジュールで自動的に使用可能になるわけではありません。

これを解決するには、settings.py などの別のファイルでグローバル変数を定義することを検討してください。 。このファイルは、グローバル変数の初期化とアクセスの提供を担当します。

# settings.py
def init():
    global myList
    myList = []

# main.py
import settings
settings.init()  # Initialize the global variables
import subfile  # Import the subfile that needs access to the globals

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")  # Access the global variable

方法 2: 直接アクセス

もう 1 つの方法は、モジュール属性を使用して、グローバル変数を宣言します。これにより、基本的に変数がモジュールの属性として公開されます。

# settings.py
myList = []

# main.py
import settings
import subfile

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")

どちらの方法でも、複数のファイルにわたるグローバル変数にアクセスできるため、プログラム全体でのデータの一貫性が確保されます。

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

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