中級 › 代入より前に参照したUnboundLocalErrorの原因 › パターン5
代入より前に参照したUnboundLocalErrorの原因
関数内で変数に代入すると、Pythonはその変数を自動的にローカル変数とみなします。
1 score = 0 2 3 def add_point(): 4 ______________ ^ 5 score = score + 1 6 return score 7 8 print(add_point())
Traceback (most recent call last):
File "main.py", line 8, in <module>
print(add_point())
^^^^^^^^^^^
File "main.py", line 5, in add_point
score = score + 1
^^^^^
UnboundLocalError: cannot access local variable 'score' where it is not associated with a value
空欄を埋めて実行を通す
得点を1つ増やすだけの単純な処理でも、global宣言を忘れると発生します。
次の問題