源码

如何编写生成器类?


我看到很多生成器函数的例子,但我想知道如何为类编写生成器.可以说,我想把斐波纳契系列写成一个类.

class Fib:
    def __init__(self):
        self.a, self.b = 0, 1

    def __next__(self):
        yield self.a
        self.a, self.b = self.b, self.a+self.b

f = Fib()

for i in range(3):
    print(next(f))

输出:




为什么值self.a没有打印?另外,我如何为发电机编写单元测试?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/ruhebianxieshengchengqilei.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 20, 2019 at 01:40 下午

热评文章