Ответ 1
Оператор return имеет смысл только внутри функций:
def foo():
while True:
return False
При запуске следующего кода (в Python 2.7.1 на Mac с Mac OS X 10.7)
while True:
return False
Я получаю следующую ошибку
SyntaxError: 'return' outside function
Я тщательно проверил ошибочные вкладки и/или пробелы. Я могу подтвердить, что код с ошибкой выше, когда я использую рекомендуемые 4 пробела отступа. Это также происходит, когда возврат помещается внутри других управляющих операторов (например, если, для и т.д.).
Любая помощь будет оценена по достоинству. Спасибо!
Оператор return имеет смысл только внутри функций:
def foo():
while True:
return False
Чтобы разбить цикл, используйте break
вместо return
.
Или поместите цикл или конструкцию управления в функцию, только функции могут возвращать значения.
Используйте quit()
в этом контексте. break
ожидает быть внутри цикла, а return
ожидает быть внутри функции.
В соответствии с документацией в return
оператор return
может возникать только синтаксически вложенным в определение функции. То же самое верно для yield
.