标签: python
运行以下代码时(使用Mac OS X 10.7在Mac上的Python 2.7.1中)
while True: return False
我收到以下错误
SyntaxError: 'return' outside function
我仔细检查了错误的标签和/或空格。当我使用推荐的4个缩进空格时,我可以确认代码因上述错误而失败。当返回放在其他控制语句中时(例如,if,for等)。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:49)
return 语句仅在函数内部有意义:
def foo(): while True: return False
答案 1 :(得分:16)
在此上下文中使用quit()。 break期望在循环中,return期望在函数内部。
quit()
break
return
答案 2 :(得分:11)
要打破循环,请使用break代替return。
或者将循环或控件构造放入函数中,只有函数可以返回值。
答案 3 :(得分:1)
根据return语句的文档,return只能在语法上嵌套在函数定义中。 yield也是如此。
yield