Код: Выделить всё
print "\n".join([str(bla) for bla in sorted(mylist, cmp = cmp_configs)])
Код: Выделить всё
NameError: name 'cmp_configs' is not defined
Иногда бывает сложно реорганизовать код, чтобы избежать этой проблемы. Например, при реализации некоторых форм рекурсии:
Код: Выделить всё
def spam():
if end_condition():
return end_result()
else:
return eggs()
def eggs():
if end_condition():
return end_result()
else:
return spam()
Является ли единственным решением реорганизация кода и всегда помещать определения перед вызовами?