可以做app的网站,大连网站建设选高合科技,wordpress分类描述,如何发布网站#xff08;一#xff09;什么是生成器
在python中#xff0c;想要了解什么是生成器(generator)#xff0c;首先就需要了解什么是yield关键字。yield表达式只能函数内部或者lambda函数中使用#xff0c;使用了yield表达式的函数即为生成器函数#xff0c;而生成器函数返…一什么是生成器
在python中想要了解什么是生成器(generator)首先就需要了解什么是yield关键字。yield表达式只能函数内部或者lambda函数中使用使用了yield表达式的函数即为生成器函数而生成器函数返回的可迭代对象即为生成器生成器的本质就是迭代器。
二如何创建生成器
了解了什么是生成器那么创建生成器就简单了下面是一个创建生成器的简单示例。
def genexp(num):for i in range(num):yield igens genexp(5)
# gens: class generator以上示例是用于生成数字1~5的生成器可以看到genexp函数返回的对象类型就是generator。
三如何循环遍历生成器
1for循环遍历
gens genexp(5)
for gs in gens:print(gs)
# gs: 0 1 2 3 42转换为列表for循环遍历生成器转换为列表可获取索引
gens list(genexp(5))
# class list
for gs in gens:print(gs)
# gs: 0 1 2 3 4
for i, gs in enumerate(gens):print(i, gs)
# i: 0 1 2 3 4
# gs: 0 1 2 3 43使用next函数循环遍历
while True:try:gs next(gens)print(gs)except:break
# gs: 0 1 2 3 4 4使用__next__方法循环遍历
while True:try:gs gens.__next__()print(gs)except:break
# gs: 0 1 2 3 4