その 1 、その 2 に引き続き Python のスコープについて見ていきます。 みっつめのポイントは「スコープ内で使われる名前はスコープの先頭で作られる」というものです。 スコープ内で使われる名前はスコープの先頭で作られる これは文章のとおりそのままなのですが、ことばだけでは説明しづらいので例をご覧ください。 C = 10 def myfunc1(): print C def myfunc2(): print C if False: C = 100 myfunc1() # => 10 myfunc2() # => UnboundLocalError: local variable 'C' referenced before assignment ここで myfunc1() の呼び出しは問題なく動作しますが、 myfunc2() の呼び出しではエラーが上がります。 2 つの関数の違いとして