原文链接: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()
扩展内容:
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。