首页 > 解决方案 > 请帮我解决“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)

标签: python

解决方案


函数外的变量默认是全局的,所以你不需要这样声明。正如评论中的@Kemp 所指出的,您需要将其放入global b您的函数中。或者,当然,b作为参数传递给函数本身。


推荐阅读