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)