python yield(python'魔法')与生成器对象

yield与return都会有返回值给调用者,但yield不会退出函数,而是继续执行所在上层循环

def fun1():
    for i in range(10):
        yield i
        pirnt(i)
a1=fun1()
print(type(a1))

结果:

<class 'generator'>#生成器对象

def fun1():
    for i in range(10):
        yield i
a1=fun1()
print(type(a1))
for i in a1:#此时的a1与range()一样就相当于一个生成器
    print(i)

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/88836229