可能在分配前引用了本地变量'put'

问题描述 投票:-1回答:1

当我执行此代码时,我没有得到输出,它说在分配之前可能会引用局部变量。我不知道确切是什么。

def funct():
    try:
        no = 2
        put = []
        if no == 1:
            out = 'yes'
            put.append(out)
        elif no == 2:
            out = 'no'
            put.append(out)
        elif no == 3:
            out = 'cant predict'
            put.append(out)
    except ValueError:
        print("Something is wrong")
    else:
        print("Everything is ok")

    put = str(put)[1:-1]
    print(put)
    return put

Screenshot of warning message from PyCharm

python python-3.x pycharm
1个回答
0
投票

这里有一个类似的问题,答案也可能对您有帮助:

Local variable might be referenced before assignment - Python

这里解决的问题是,在两个“ if”条件内为该变量分配了值。这些条件是互补的,但发出警告是因为可能会出现以下情况:没有一个条件为真,因此该变量将保持未初始化状态。

© www.soinside.com 2019 - 2024. All rights reserved.