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

时间:2011-10-20 20:54:36

标签: python

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

while True:
    return False

我收到以下错误

SyntaxError: 'return' outside function

我仔细检查了错误的标签和/或空格。当我使用推荐的4个缩进空格时,我可以确认代码因上述错误而失败。当返回放在其他控制语句中时(例如,if,for等)。

也会发生这种情况

任何帮助将不胜感激。谢谢!

4 个答案:

答案 0 :(得分:49)

return 语句仅在函数内部有意义:

def foo():
    while True:
        return False

答案 1 :(得分:16)

在此上下文中使用quit()break期望在循环中,return期望在函数内部。

答案 2 :(得分:11)

要打破循环,请使用break代替return

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

答案 3 :(得分:1)

根据return语句的文档,return只能在语法上嵌套在函数定义中。 yield也是如此。