関数の中で定義された関数(ネストされた関数)は外部のスコープにある変数にアクセスできる。 `nonlocal`キーワードを使うことで、ネストされた関数から外部のスコープの変数を変更できる。 `global`キーワードは、ネストされた関数からグローバル変数を ...
Pythonでプログラムを書いていると、「この変数、なんで関数の中から使えないんだろう?」とか、「関数の中で変数の値を変更したら、外の値まで変わってしまった…」といった、変数の「有効範囲」に関する、予期せぬ問題に直面することがあります。