ホームページ >バックエンド開発 >Python チュートリアル >`global` キーワードを使用せずに Python でグローバル変数にアクセスできるのはいつですか?
Python の 'global' キーワードを使用しないグローバル変数アクセス
Python では、関数内のグローバル変数にアクセスするには通常、 「グローバル」というキーワード。ただし、グローバル変数を明示的に宣言しなくてもアクセスできる場合があります。
問題:
なぜグローバル変数にアクセスできるのか次のコード スニペットに示すように、「global」キーワードを使用しません。
sub = ['0', '0', '0', '0'] def getJoin(): return '.'.join(sub) print(getJoin()) # Output: '0.0.0.0'
説明:
「global」キーワードは主に、ローカル コンテキスト内でグローバル変数を変更または作成するために使用されます。ただし、場合によっては、次の理由により、明示的にグローバル変数として宣言しなくても、グローバル変数にアクセスできます。
例:
次のコードを考えてみましょう:
def bob(): me = "locally defined" # Defined only in local context print(me)
bob() 関数を呼び出すと、関数内で me という名前のローカル変数が定義されているため、「ローカルに定義された」と出力されます。ただし、「global」キーワードを使用せずに関数の外でアクセスしようとすると、「UnboundLocalError」が発生します。
print(me) # Asking for a global variable
結論:
グローバル変数の変更または作成には通常、「global」キーワードが推奨されますが、明示的に宣言せずにグローバル変数にアクセスできる場合もあります。この動作は、変数のシャドウイングと Python の名前空間内の検索メカニズムによって発生します。ただし、暗黙的なグローバル変数へのアクセスに依存するとエラーや混乱が生じる可能性があることに注意することが重要です。そのため、必要に応じて「global」キーワードを明示的に使用することがベスト プラクティスです。
以上が`global` キーワードを使用せずに Python でグローバル変数にアクセスできるのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。