zoukankan      html  css  js  c++  java
  • 生成器

    生成器
    
    如果说迭代器是以类为基础的单位产生器,那么生成器(generator)就是以函数为基础的单位产生器。也就是说,迭代器和生成器都是一个值一个值得生产,每迭代一次,只能得到一个值,
    
    所不同的是,迭代器需要在类中定义__iter__和__next__方法,在使用时需要创建迭代器的实例。而生成器是通过一个函数展现的,可以直接调用,
    
    所以从某种意义上来说,生成器在使用上更简洁。
    
    
    创建称生成器
    
    要定义一个生成器,首先需要定义一个函数,在该函数中对某个集合或迭代器进行迭代,然后使用yield语句产生当前要生成的值,这时函数会被冻结,直到调用生成器的代码继续迭代
    
    下一个值,生成器才会继续执行。
    
    实例:
    
    #定义一个生成器
    def mygGenerator():
        numList=[1,2,3,4,5,6,7,8]
        for num in numList:
            #yield 语句会冻结当前函数,并提交当前要生成的值(本例是num)
            yield num
        #对迭代器进行迭代
    for num in mygGenerator():
        print(num,end=' ')
    
    E:pythonpython.exe E:/progect/untitled1/untitled1/urls.py
    1 2 3 4 5 6 7 8 
  • 相关阅读:
    2021.6.2 Python网络编程
    2021.6.1 数据库
    2021.5.29 PHP大作业
    2021.5.28 bootstrap和vue
    2021.5.27 三个和尚
    2021.5.26 Python操作Mysql数据库
    2021.5.25 PHP作业
    2021.5.24 Python解析XML
    如何用 GPU 训练模型?
    44 内核中的中断处理(上)
  • 原文地址:https://www.cnblogs.com/effortsing/p/10387397.html
Copyright © 2011-2022 走看看