Python错误集锦:UnboundLocalError: local variable ‘x’ referenced before assignment

原文链接:http://www.juzicode.com/archives/3817

错误提示:

使用变量时提示:UnboundLocalError: local variable ‘x’ referenced before assignment

#juzicode.com/vx:桔子code
def foo():
    y = 3
    z = 2+x
    x = 5
    return z

print('call foo():')
foo()
call foo():
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-41-17e53182dd69> in <module>
      7 
      8 print('call foo():')
----> 9 foo()

<ipython-input-41-17e53182dd69> in foo()
      2 def foo():
      3     y = 3
----> 4     z = 2+x
      5     x = 5
      6     return z

UnboundLocalError: local variable 'x' referenced before assignment

错误原因:

1、在函数内部,x变量定义在后,使用在前

解决方法:

1、调换x定义和使用的位置,先定义x再使用:

#juzicode.com/vx:桔子code
def foo():
    y = 3
    x = 5
    z = 2+x
    return z

print('call foo():')
foo()

扩展内容:

  1. Python基础教程6–函数

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注