生成器

"""
生成器:
首先要了解生成器的  关键单词   yield
然后就是生成器 就是用户自己定义的迭代器    所以本质上还是迭代器
例子:      """
def func():
    print("iter")
    yield 111
    print("next")
    yield 222
    print("iter")
    yield 333
    print("next")
    yield
"""
yield   后面跟的值就是调用了迭代器,__next__方法,你所得到的值
yield 既可以返回一个值也可以返回多个值 并且多个值也是按照元组的形式返回的
"""
g=func()  #  g 现在等于func 只要g加了括号那么就是调用了上面func这个函数
print(g)   #没有加括号的就等于是函数的内存地址
print(g.__next__())
print(g.__next__())
#结果:iter
#     111
#     next
#     222
#这个结果就说明  每一次他都会停yield那里 
"""在不使用range的情况下
for i in range(1,10,2)
    print(i)
    做到和上面一样的结果
"""
def func(start,end,step):
    while start<end:
        yield start
        start +=step
for i in func(1,10,2):
    print(i)
原文地址:https://www.cnblogs.com/yangxinpython/p/11190936.html