未解決変数リファレンス: Python 3 の 'UnboundLocalError' について
提供されたコード スニペットで 'UnboundLocalError' 例外が発生しました。これは、次のことを示しています。値を割り当てる前に、ローカル変数 ('Var1') を参照します。これは、変数名が関数内で宣言されているが、使用前に値が割り当てられていない場合に発生します。
このエラーを修正するために、Python 3 の変数スコープの微妙な違いをさらに詳しく調べます。コードでは最初に「Var1」をグローバル変数として宣言し、関数内の代入ステートメント「Var1 -= 1」により「Var1」というローカル変数が作成されます。これにより、外部で宣言されたグローバル変数ではなく、関数に対してローカルな変数が変更されます。
関数内でグローバル変数を利用するために、Python 3 には 'global' キーワードが用意されています。関数の先頭に「global Var1, Var2」を追加することで、関数のスコープ内で「Var1」および「Var2」という名前のグローバル変数を参照するつもりであることを明示的に示します。これにより、同じ名前のローカル変数の作成が防止され、「UnboundLocalError」が解決されます。
Python 3 では、外側のスコープで定義された変数を操作するための「nonlocal」ステートメントも存在します。ただし、「非ローカル」は通常、関数をネストするときに使用されますが、提供されているコードには当てはまりません。
変数のスコープとエラー処理についてさらに詳しく知りたい場合は、Python Web サイトと関連ドキュメントが貴重なリソースとして役立ちます。変数参照の原則を理解し、適切なキーワードを活用することで、Python 開発者は変数のスコープを効果的に管理し、このような実行時エラーを回避できます。
以上が私の Python 3 コードが「UnboundLocalError」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。