Python列出变量范围问题

时间:2018-06-28 02:18:24

标签: python function variables scope

我有以下代码:

def myFunction(param, param):

    myList = ["",[],[],[]]

    #code to fill up myList
    for q,d in enumerate(detailCollection):
        #all the fun stuff here

    yield{
        "var1":myList[0],
        "var2":myList[1],
        #and so on
    }

我得到的错误如下:

NameError: name 'myList' is not defined

来自yield语句中的行

出于隐私目的,我没有包含实际代码,但这与正在发生的情况相同。为什么说myList显然在同一函数范围内时未定义,我该如何解决此问题?我宁愿不完全删除myList变量并将其称为全局变量,以保持代码简洁明了,有没有办法做到这一点而无需移动myList声明/定义?

1 个答案:

答案 0 :(得分:0)

所以我没有意识到我的_语句中还有多余的yield。没问题:)问题解决了。