Проблемы с областью видимости переменной списка Python - PullRequest
0 голосов
/ 28 июня 2018

У меня есть следующий код:

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 голосов
/ 28 июня 2018

Так что я не осознавал, что в моем заявлении yield лежат дополнительные _. Не важно :) Проблема решена.

...