首页 > 代码库 > Python练习-一个简单的生成器
Python练习-一个简单的生成器
今天我们学习了生成器,怎么理解生成器呢,其实就是使用函数的方式自己建立一个迭代器
1 # 编辑者:闫龙 2 #做一个简单的生成器 3 def EasyGene(*args): #建立一个生成器方法并传递多个参数 4 for i in args: 5 yield i#将获取的多个参数值,全部yield返回 6 g = EasyGene("a","b",3) #将参数传递给生成器方法EasyGene,并将yield返回结果赋值给g 7 while True: 8 try: 9 print(next(g))#循环打印next(g)中的结果 10 except StopIteration:#由于遍历生成器的迭代器,当超出迭代器长度时,会产生一个Stop告警,所以我们要使用try的方式将告警进行处理 11 break
事实上生成器也是一个迭代器,这个理论有点难懂:
# 编辑者:闫龙 from collections import Iterable,Iterator,Generator def a(): yield 1 yield 2 print(isinstance(a(),Iterator)) #判断a()的执行结果是不是一个迭代器,返回结果是True print(isinstance(a(),Generator))#判断a()的执行结果是不是一个生成器,返回结果也是True print(type(a()))#打印一下a()的执行结果是什么类型,令人差异的是结果为一个生成器:<class ‘generator‘> #神坑已挖好,请大家自行填坑
Python练习-一个简单的生成器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。