python迭代器、生成器、装饰器之生成器

python中只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码,通过__next__()或者next()函数可以获取值,每调用一次,都会取出一个值,无值可取时会报StopIteration错
def fun():
    for i in range(10):
        yield i


f = fun()
print(type(f))  # <class 'generator'>
f.__iter__()
f.__next__()
print(next(f))
原文地址:https://www.cnblogs.com/June-King/p/10596206.html