# 生成器是一种特殊的 迭代器
# 如果一个函数中有yield,那么这个就不是函数,而是一个生成器模板
def creat_num(all_num):
a, b = 0, 1
c = 0
while c < all_num:
# print(a)
yield a # 关键,直接把这个值返给遍历的值,它是暂停一下继续执行下一个
a, b = b, a+b
c += 1
return 'ok----' # 如何返回return?使用try
# 如果在调用creat_num时,发现这个函数中有yield,那么此时不是调用函数,而是创建一个生成器
obj = creat_num(10)
for num in obj:
print("---1-----",num)
obj2 = creat_num(20)
for i in obj2:
print("---2---",i)
04-1生成器初识
最新推荐文章于 2024-08-07 22:05:56 发布