Error de statement de retorno de Python “‘return’ fuera de la función”

Al ejecutar el siguiente código (en Python 2.7.1 en un mac con Mac OS X 10.7)

while True: return False 

Obtuve el siguiente error

 SyntaxError: 'return' outside function 

He revisado cuidadosamente las tabs y / o espacios errantes. Puedo confirmar que el código falla con el error anterior cuando uso los 4 espacios de sangría recomendados. Este comportamiento también ocurre cuando la devolución se coloca dentro de otras declaraciones de control (por ejemplo, si, para, etc.).

Cualquier ayuda sería apreciada. ¡Gracias!

La statement de retorno solo tiene sentido dentro de las funciones:

 def foo(): while True: return False 

Use quit() en este contexto. break espera estar dentro de un bucle, y el return espera estar dentro de una función.

Para romper un bucle, use break lugar de return .

O coloque el bucle o la construcción de control en una función, solo las funciones pueden devolver valores.

Según la documentación de la statement de return , la return solo puede ocurrir sintácticamente anidada en una definición de función. Lo mismo es cierto para el yield .