Python练习-一个简单的生成器

Posted DragonFire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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练习-一个简单的生成器的主要内容,如果未能解决你的问题,请参考以下文章

python小练习简单的猜数字游戏

python之再学习----简单的for的练习

算法练习:最小生成树 (Minimum Spanning Tree)

Python-面向对象练习1

Apollo Codegen 没有找到生成代码的操作或片段

python 用于在终端中运行的sublime text 3的简单代码片段制作工具