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

Barbara Streisand
リリース: 2024-10-19 12:23:02
オリジナル
386 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!