UnboundLocalError 通常發生在函數內部嘗試修改局部變量的值時,但該變量并未在函數內部進行賦值操作。閉包函數中也可能出現 UnboundLocalError 錯誤,因為在閉包函數中內部函數可以訪問外部函數的局部變量,但如果在內部函數中嘗試修改外部函數的局部變量的值時,就有可能出現 UnboundLocalError 錯誤,因為 Python 會將該變量視為局部變量而不是外部函數的變量。為了解決這個問題,可以使用 nonlocal 關鍵字來聲明該變量為外部函數的變量,而不是局部變量。