関数の中で定義された関数(ネストされた関数)は外部のスコープにある変数にアクセスできる。 `nonlocal`キーワードを使うことで、ネストされた関数から外部のスコープの変数を変更できる。 `global`キーワードは、ネストされた関数からグローバル変数を ...
Pythonでプログラムを書いていると、 よく関数の中で関数を作ることがあります。 Python はクロージャに対応していて、 関数の中で作られた関数は、 外側の関数のローカル変数を参照することができます。 クロージャが一番役に立つ場面がデコレータです。