以下の 2 番目のケースでは、Python はローカル変数を検索しようとします。見つからない場合、最初のケースのように外側のスコープを調べられないのはなぜですか?
これは x をローカル スコープで検索し、次に外部スコープで検索します。
def f1():
x = 5
def f2():
print x
これによりlocal variable 'x' referenced before assignment
エラーが発生します:
def f1():
x = 5
def f2():
x+=1
関数 f2() のシグネチャを変更することは許可されていないため、x の値を渡して返すことはできません。ただし、x を変更する方法が必要です。global
外側のスコープ (キーワードに似たもの) で変数名を探すように Python に明示的に指示する方法はありますか?
Python バージョン: 2.7