搜尋

首頁  >  問答  >  主體

python - Call a function until a sentinel value 代码解读?

PHPzPHPz2897 天前457

全部回覆(1)我來回復

  • 迷茫

    迷茫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

    回覆
    0
  • 取消回覆