Pythonのglobalとnonlocalとは?関数の中から外の変数を書き換える方法と、UnboundLocalErrorが出る理由を初心者向けに解説
関数の外で作った変数に、関数の中で1を足そうとしたらUnboundLocalErrorが出た経験はありませんか?Pythonでは、関数の中で代入した名前はその関数のローカル変数として扱われます。この記事では、変数が探される順番(LEGB)から、global文とnonlocal文の使い方、エラーが出る仕組み、globalに頼らない書き方までを、表とサンプルコードで初心者向けにやさしく解説します。