Contents
referenced before assignment
原因
「local variable ‘xxx’ referenced before assignment」このようなエラーが出た場合の原因としては変数:xxxが定義される前に参照されてる場合に発生します。
エラー例:
print(xxx) #xxxが定義される前に参照している
xxx = 2
以下のような場合でもエラーになります。
例え、同じ変数名であったとしてもスコープが違う場合は異なる変数として扱われるのでエラーとなります。
def test():
print(xxx)
xxx = 10 #ローカル変数
xxx = 1 #グローバル変数
test()
対応策
✅参照される前に対象の変数を定義する
xxx = 2 #参照前に定義する
print(xxx)
def test():
xxx = 10 #ローカル変数 先に定義する
print(xxx)
xxx = 1 #グローバル変数
test()
##出力##
10