UnboundLocalError 是 Python 中常見的錯誤之一,通常由于以下原因觸發:
- 函數內部嘗試訪問局部變量,但該局部變量在函數內部之前沒有被賦值。
- 函數內部使用了與全局變量同名的局部變量,并且未使用 global 關鍵字聲明該變量為全局變量。
- 在函數內部試圖修改全局變量的值,但未使用 global 關鍵字聲明該變量為全局變量。
- 函數內部使用了嵌套函數,并且在嵌套函數中嘗試修改外部函數的局部變量,但未使用 nonlocal 關鍵字聲明。
在這些情況下,Python 解釋器會拋出 UnboundLocalError 錯誤,提示未綁定的局部變量。為避免這種錯誤,需要確保在函數內部使用變量之前進行正確的賦值,并且在需要訪問或修改全局變量時使用 global 或 nonlocal 關鍵字聲明。