如何从函数中解决UnboundLocalError?

时间:2017-02-27 05:58:13

标签: python

我在python中遇到了一个像here

这样的流行错误
x = 10
def foo():
    x += 1
    print(x)
foo()

如果它运行,我们会收到如下错误

UnboundLocalError: local variable 'x' referenced before assignment

但在我的情况下,该功能不是我制作的,但它包含在库中。在这种情况下,如何在不使用函数中的global关键字声明变量的情况下解决此问题?我认为修改库中的函数不是一个好主意。

1 个答案:

答案 0 :(得分:0)

由于您无法控制该功能,因此最好重命名您的变量。可能会说它不同的东西?

是的。

  • 在函数范围内使用global是不好的。
  • 由于您没有创建库,因此您可能无法轻松修改 (下一次更新会重写您的更改)。
  • 即使你可以修改它,使用global也不错