UnboundLocalErrorは、ローカル変数参照エラーと呼ばれるものです。このエラーは、ローカルスコープの変数を参照しようとした際に発生しますが、その変数がまだ定義されていない場合に発生します。
以下のようなPythonコードを考えます。
def my_func():
print(x)
x += 1
my_func()
このコードを実行すると、UnboundLocalErrorが発生します。これは、関数内で変数xを参照しようとした際に発生しますが、xがまだ定義されていないためです。
このエラーを解決するには、変数xを関数内で定義する必要があります。以下のように変更すると、エラーが解決します。
def my_func():
x = 10
print(x)
x = x + 1
my_func()