ホームページ > バックエンド開発 > Python チュートリアル > 私の Python 3 コードが「UnboundLocalError」をスローするのはなぜですか?

私の Python 3 コードが「UnboundLocalError」をスローするのはなぜですか?

Barbara Streisand
リリース: 2025-01-03 16:27:40
オリジナル
907 人が閲覧しました

Why Does My Python 3 Code Throw an `UnboundLocalError`?

未解決変数リファレンス: 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート