python - 请帮我解决“UnboundLocalError:分配前引用的局部变量'b'”的这个错误
问题描述
请让我清楚,当我在第 1 行将“b”设为全局变量时。然后它也显示错误
错误: UnboundLocalError:分配前引用了局部变量“b”
注意此代码是较大代码的一部分*
global b
b = 0
def solve(operation):
global a
a = display.get()
global ex
if operation == "-":
if b == 0:
ex = int(a)
else:
ex = int(b) - int(a)
if operation == "+":
ex = int(a) + b
b = int(a)
a = ex
global ans
ans = ex
display.delete(0, tkinter.END)
解决方案
函数外的变量默认是全局的,所以你不需要这样声明。正如评论中的@Kemp 所指出的,您需要将其放入global b
您的函数中。或者,当然,b
作为参数传递给函数本身。
推荐阅读
- python - Python ProcessPoolExecutor.map 对于大型结果数组失败
- python - 在图像中绘制水平和垂直线
- python - 使用 TF 1.15.5 的 model_main.py 时,评估 mAP 图很快会产生 0 并保持在那里
- python - 没有名为“object_detection”的模块如何将模型\研究添加到 PYTHONPATH?
- reactjs - 处理获取的数据 - RTK Query / Redux 工具包 / React
- java - 不使用 Hibernate 连接关系的左连接
- select - 面板打开时在 mat 选项中显示额外的值
- python - 如何根据生日日期计算年龄,Python Pandas 中的时间戳和日期时间问题?
- excel - 如何合并行中重复的单元格值?我的代码忽略了一些重复的值
- firebase - firebase 中的崩溃报告,但不幸的是,应用程序中没有崩溃。如何解决这个问题