搜索

首页  >  问答  >  正文

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

PHPzPHPz2897 天前458

全部回复(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
  • 取消回复