前に参照のローカル変数 '合計' 申し訳ありませんが、私の英語は非常に良いではありません、しかし、私は、私はそれを明確にすることができると思いUnboundLocalError:割り当て
CODE1:
# coding:utf-8
sum = 5
def add(x, y):
\t print sum
\t sum = x + y
if __name__ == '__main__':
\t add(7, 8)
このコードを実行すると、エラーが発生します。以下はエラーメッセージです。
ssspure:python ssspure $ python test.py トレースバック(最新の呼び出しの最後):ローカル変数 ':追加 プリント和 UnboundLocalErrorで アドオン(7、8) ファイル "test.py"、6行目で ファイル "test.py"、11行目、割り当て
CODE2前に参照合計」:
# coding:utf-8
sum = 5
def add(x, y):
\t sum = x + y
\t print sum
if __name__ == '__main__':
\t add(7, 8)
私はコード2正常に実行することができます
。私は "sum = x + y"文の下にある "print sum"を移動するだけです。なぜcode1にエラーがあり、code2が正常に実行されたのですか?
#コードとして和をinnitialized \t add(7,8) このコードもエラーになります – ssspure