Python Return Statement Error " 'Return' Outside Function"

Python Return Statement Error " 'Return' Outside Function"

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!

3

4 Answers

The return statement only makes sense inside functions:

def foo():
    while True:
        return False
5

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

1

To break a loop, use break instead of return.

Or put the loop or control construct into a function, only functions can return values.

0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Elena Rostova
Author

Elena Rostova

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.