Подтвердить что ты не робот

Python return statement error "'return' external function"

При запуске следующего кода (в Python 2.7.1 на Mac с Mac OS X 10.7)

while True:
    return False

Я получаю следующую ошибку

SyntaxError: 'return' outside function

Я тщательно проверил ошибочные вкладки и/или пробелы. Я могу подтвердить, что код с ошибкой выше, когда я использую рекомендуемые 4 пробела отступа. Это также происходит, когда возврат помещается внутри других управляющих операторов (например, если, для и т.д.).

Любая помощь будет оценена по достоинству. Спасибо!

4b9b3361

Ответ 1

Оператор return имеет смысл только внутри функций:

def foo():
    while True:
        return False

Ответ 2

Чтобы разбить цикл, используйте break вместо return.

Или поместите цикл или конструкцию управления в функцию, только функции могут возвращать значения.

Ответ 3

Используйте quit() в этом контексте. break ожидает быть внутри цикла, а return ожидает быть внутри функции.

Ответ 4

В соответствии с документацией в return оператор return может возникать только синтаксически вложенным в определение функции. То же самое верно для yield.