У меня есть следующий код:
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?