^{}用于结束循环,而^{}用于结束函数(并返回值)。
还有^{}作为继续下一个迭代而不完成当前迭代的一种方法。
return有时可以用作循环时的中断,例如一个简单的搜索函数可以在lst中搜索what:def search(lst, what):
for item in lst:
if item == what:
break
if item == what:
return item
以及更好的等价函数,使用return:def search(lst, what):
for item in lst:
if item == what:
return item # breaks loop
阅读有关简单语句here的更多信息。
在指令级别,您可以看到语句执行不同的操作:
return只向调用方返回一个值(^{}):>>> import dis
>>> def x():
... return
...
>>> dis.dis(x)
2 0 LOAD_CONST 0 (None)
3 RETURN_VALUE
break停止当前循环(^{})并继续:>>> def y():
... for i in range(10):
... break
...
>>> dis.dis(y)
2 0 SETUP_LOOP 21 (to 24)
3 LOAD_GLOBAL 0 (range)
6 LOAD_CONST 1 (10)
9 CALL_FUNCTION 1
12 GET_ITER
>> 13 FOR_ITER 7 (to 23)
16 STORE_FAST 0 (i)
3 19 BREAK_LOOP
20 JUMP_ABSOLUTE 13
>> 23 POP_BLOCK
>> 24 LOAD_CONST 0 (None)
27 RETURN_VALUE