def outside(x=1):
def printHam():
x = x+1
print x
return printHam
myfunc = outside(7)
myfunc()
Это работает не дает ошибку локальной переменному, на который ссылается прежде, чем питон ошибки присваиванияЛокальных переменный ссылаются перед ошибкой назначения питона
Однако это работает
def outside(x=1):
def printHam():
print x + 1
return printHam
myfunc = outside(7)
myfunc()
Искать любые тысячи вопросов, связанных с «локальной переменной, на которые ссылаются перед назначением» на этом сайте. – BrenBarn
Даже тривиальный запрос получает 861 результат: http://stackoverflow.com/search?q=local+variable+referenced+before+assignment+%5Bpython%5D+is%3Aq Проводили ли вы какие-либо исследования вообще? – jonrsharpe
@BrenBarn я все еще не получаю – Sumit