ホームページ >バックエンド開発 >Python チュートリアル >グローバル変数に Global キーワードを使用するのはどのような場合ですか?

グローバル変数に Global キーワードを使用するのはどのような場合ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-19 12:23:02577ブラウズ

When to Use the Global Keyword for Global Variables?

関数のスコープとグローバル変数

プログラミングで関数を使用する場合、スコープの概念を理解することが重要です。関数は、グローバル スコープとは別に、独自のプライベート名前空間を作成します。これは、関数内で宣言された変数は、その関数内でのみアクセスできることを意味します。

問題: 関数がグローバル変数を変更しない

次のコードを考えてみましょう:

done = False

def function():
    for loop:
        code
        if not comply:
            done = True

while done == False:
    function()

意図このコードの目的は、function() 内で Done が True に設定されたときに while ループを終了することです。ただし、function() が Done を True に設定した後もコードはループを終了しません。

問題が発生する理由

問題は、function() 内の変数 Done がローカル変数であるために発生します。変数。関数の名前空間内に作成されます。これは、関数の外部で定義されるグローバル変数 Done とは別のものです。 function() が新しい値を Done に割り当てるとき、実際にはグローバル変数ではなくローカル変数が変更されます。

解決策: グローバルの使用

この問題を解決するには、 global キーワードを使用して、関数内でグローバル変数を明示的に参照します。修正されたコードは次のとおりです。

def function():
    global done
    for loop:
        code
        if not comply:
            done = True

global を使用すると、関数内の Done 変数がグローバル スコープで定義されているのと同じ変数を参照するようになります。これにより、関数内からグローバル変数を変更できるようになります。

以上がグローバル変数に Global キーワードを使用するのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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