在以下python代码中:
narg=len(sys.argv)
print "@length arg= ", narg
if narg == 1:
print "@Usage: input_filename nelements nintervals"
break
我明白了:
SyntaxError: 'break' outside loop
为什么?
答案 0 :(得分:53)
因为break不能用于打破if - 它只能打破循环。这就是指定Python(以及大多数其他语言)的行为方式。
你想做什么?也许您应该使用sys.exit()
或return
代替?
答案 1 :(得分:2)
因为break语句旨在打破循环。你不需要打破if语句 - 它只是在结束时结束。
答案 2 :(得分:2)
因为break只能在循环中使用。 它用于打破循环(停止循环)。
答案 3 :(得分:1)
break
突破了循环,而不是if
语句。这个动机并不难看出来;想想像
for item in some_iterable:
...
if break_condition():
break
如果break
终止if
块而不是终止循环,则break
将毫无用处 - 有条件地终止循环是{{1}}用于确切的事情。
答案 4 :(得分:0)
这是一个古老的问题,但是如果您想突破if语句,可以这样做:
while 1:
if blah:
break