zoukankan      html  css  js  c++  java
  • 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'>
    #神坑已挖好,请大家自行填坑
  • 相关阅读:
    MFC 控件RadioButton和CheckBox区别
    python的传递实参
    python的返回值
    Machine Learning的定义
    pythion的定义函数和传递实参
    python的用户输入和while循环
    python的字典
    python的if语句
    python的元组及其书写规矩
    python中操作列表
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6696836.html
Copyright © 2011-2022 走看看