这是我的代码片段,奇怪的是为什么我能够访问第三个 if 语句中名为“calBegPoint”的变量,但不能访问第二个 if 语句。
if graph != None:
for trace in graph['data']:
if 'LSR(' in trace['name']:
calBegPoint = trace['x'][0] #Statement 1
if '% change' in trace['name']:
print(calBegPoint) #Statement 2
if 'LSR Extended' in trace['name']:
print(calBegPoint) #Statement 3
当我运行此代码时,我在语句 2 上收到以下错误,但是,如果我对其进行注释,则不会收到语句 3 的错误。为了解决这个问题,我尝试声明 calBegPoint= "Hi "
在整个代码片段之前。这样我就没有收到错误,但是语句 2 上打印的值是“Hi”,而不是我计算的值。
我已经尝试调试它几个小时了。任何方向/指针将不胜感激
UnboundLocalError: local variable 'calBegPoint' referenced before assignment
最佳答案
错误消息试图告诉您在定义之前使用了 calBegPoint
。
在您的情况下,第二个或第三个 if
语句的第一次执行位于第一个 if
语句的第一次执行之前。
关于python-3.x - 能够访问一个 if 语句中的变量,但不能访问其他语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61774828/