中級 › 代入より前に参照したUnboundLocalErrorの原因 › パターン4
代入より前に参照したUnboundLocalErrorの原因
関数内で変数に代入すると、Pythonはその変数を自動的にローカル変数とみなします。
1 items = [] 2 3 def add_item(x): 4 ______________ ^ 5 items = items + [x] 6 return items 7 8 print(add_item(5))
Traceback (most recent call last):
File "main.py", line 8, in <module>
print(add_item(5))
^^^^^^^^^^^
File "main.py", line 5, in add_item
items = items + [x]
^^^^^
UnboundLocalError: cannot access local variable 'items' where it is not associated with a value
空欄を埋めて実行を通す
リストであっても規則は同じです。関数内で代入している時点でローカル変数扱いになります。
次の問題