生成器

如何得到自定义的迭代器:

在函数内一旦存在yield关键字,调用函数并不会执行函数体代 码 会返回一个生成器对象,生成器即自定义的迭代器。

def func():
    print('第一次')
    yield 1
    print('第二次')
    yield 2
    print('第三次')
    yield 3
    print('第四次')


g=func()
print(g)
# 生成器就是迭代器
g.__iter__()
g.__next__()

自定义迭代器实现range功能:

def my_raneg(start,end,step):
    while start<end:
        yield start
        start+=step

num=my_raneg(1,10,2)
print(next(num))
print(next(num))
print(next(num))
print(next(num))
原文地址:https://www.cnblogs.com/bailongcaptain/p/12561087.html