【问题标题】:Python list variable scope issuesPython列表变量范围问题
【发布时间】:2018-12-06 23:58:31
【问题描述】:

我有以下代码:

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 声明/定义的情况下做到这一点?

【问题讨论】:

  • 您发布的代码不会出现该错误。如果你真的需要帮助,你只需要发布你的实际代码。
  • nvm 我只是一个彻头彻尾的白痴哈哈。我在收益中的一个变量中完全忽略了_。所以......你是对的:)这也是我发布这个问题的部分原因,因为我觉得真的很愚蠢哈哈

标签: python function variables scope


【解决方案1】:

所以我没有意识到我的yield 声明中有一个额外的_。没什么大不了的 :) 问题解决了。

【讨论】:

    猜你喜欢
    • 2011-11-21
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2011-04-13
    • 2011-10-20
    • 2016-06-21
    • 2011-04-10
    相关资源
    最近更新 更多