迷茫2017-04-18 09:41:16
手機碼字。
這段程式碼巧妙利用了 iter 的另一種形式:
如果傳給 iter 的是兩個參數: callable 和 sentinel,則傳回的產生器會重複呼叫 callable 並 yield 其傳回值,直到傳回值和 sentinel 相等時停止。
等價代碼:
def iter(callable, sentinel):
while True:
val = callable()
if val == sentinel: break
yield val