我正在阅读一些源代码,其中包含try
.. except
块与else: continue
语句。它有点类似如下:在Python中,else的用途是什么:继续try..except块?
numerator = float(1)
denominator = float(2)
def do_divisions(numerator=numerator, denominator=denominator):
for _ in range(10):
try:
fraction = numerator/denominator
print "{numerator}/{denominator} = {fraction}".format(numerator=numerator, denominator=denominator, fraction=fraction)
denominator -= 1
except ZeroDivisionError:
print "You cannot divide by zero!"
return False
else:
continue
result = do_divisions()
我挣扎了解else: continue
声明做什么。据我所知,从https://docs.python.org/2.7/tutorial/controlflow.html,else
子句得到执行,如果没有发生异常,并且continue
继续循环的下一次迭代。然而,这不是Python会做的吗?
这里没有必要。 – Maroun
我认为你是对的:'else:continue'在这里没有任何额外的功能。我认为这个块只是作为一个**占位符被插入**,以便在未发生异常的情况下未来添加的代码被执行。 –
如果'continue'是循环的最后一条指令,那么显然它必须是多余的。与@SergiiShcherbak同意这可能是一个占位符,尽管我认为'pass'会是一个更好的占位符 –