UnboundLocalError 是 Python 中常见的错误之一,通常由于以下原因触发:
- 函数内部尝试访问局部变量,但该局部变量在函数内部之前没有被赋值。
- 函数内部使用了与全局变量同名的局部变量,并且未使用 global 关键字声明该变量为全局变量。
- 在函数内部试图修改全局变量的值,但未使用 global 关键字声明该变量为全局变量。
- 函数内部使用了嵌套函数,并且在嵌套函数中尝试修改外部函数的局部变量,但未使用 nonlocal 关键字声明。
在这些情况下,Python 解释器会抛出 UnboundLocalError 错误,提示未绑定的局部变量。为避免这种错误,需要确保在函数内部使用变量之前进行正确的赋值,并且在需要访问或修改全局变量时使用 global 或 nonlocal 关键字声明。