what - Python return statement error “ 'return' outside function”




what does return outside function (3)

When running the following code (in Python 2.7.1 on a mac with Mac OS X 10.7)

while True:
    return False

I get the following error

SyntaxError: 'return' outside function

I've carefully checked for errant tabs and/or spaces. I can confirm that the code fails with the above error when I use the recommended 4 spaces of indentation. This behavior also happens when the return is placed inside of other control statements (e.g. if, for, etc.).

Any help would be appreciated. Thanks!


As per the documentation on the return statement, return may only occur syntactically nested in a function definition. The same is true for yield.


The return statement only makes sense inside functions:

def foo():
    while True:
        return False

Use quit() in this context. break expects to be inside a loop, and return expects to be inside a function.





python