在以下python代码中:
narg=len(sys.argv)
print "@length arg= ", narg
if narg == 1:
print "@Usage: input_filename nelements nintervals"
break
Run Code Online (Sandbox Code Playgroud)
我明白了:
SyntaxError: 'break' outside loop
Run Code Online (Sandbox Code Playgroud)
为什么?
Mar*_*ers 56
因为break不能用于打破if - 它只能打破循环.这就是指定Python(和大多数其他语言)的行为方式.
你想做什么?也许你应该使用sys.exit()或return代替?
breakif正如其他人指出的那样,跳出一个循环,而不是一个语句。这样做的动机不难看出。想想像这样的代码
for item in some_iterable:
...
if break_condition():
break
Run Code Online (Sandbox Code Playgroud)
break如果它终止了if块而不是终止循环,那将是非常无用的——有条件地终止循环正是所用的东西break。