Python返回语句错误"'返回'外部函数"

Jef*_*eff 37 python

运行以下代码时(在Mac OS X 10.7的Mac上的Python 2.7.1中)

while True:
    return False
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

SyntaxError: 'return' outside function
Run Code Online (Sandbox Code Playgroud)

我仔细检查了错误的标签和/或空格.当我使用推荐的4个缩进空格时,我可以确认代码因上述错误而失败.当返回被放置在其他控制语句内部时(例如,if,for等),也会发生这种情况.

任何帮助,将不胜感激.谢谢!

Ray*_*ger 50

返回语句只让内部功能意义:

def foo():
    while True:
        return False
Run Code Online (Sandbox Code Playgroud)

  • 我将命名我的第一个孩子@Raymond-Hettinger (7认同)

use*_*770 18

quit()在此上下文中使用.break期望在一个循环中,并return期望在一个函数内.


Jür*_*bel 11

要打破循环,请使用break而不是return.

或者将循环或控件构造放入函数中,只有函数可以返回值.