我正在閱讀一些源代碼,其中包含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'會是一個更好的佔位符 –