zoukankan      html  css  js  c++  java
  • Python 第十二天 生成器

    1.生成器:本质是迭代器

    生成器函数:函数中带有yield. 在执行的时候返回生成器,而不是执行函数

      yield和return相似,不过当执行到yield时暂停,下次执行时从yield下面继续,而不是退出执行

      只有当执行到__next__()和send()时函数才开始执行

      send():可以给上一个yield传值,也可以实现__next__()的功能

        send()不能用在开头,不能给最后一个yield传值,__next__()可以用在开头

      特点:  节省内存  惰性机制  只能向后,不能反复

    2.推导式

      列表推导式: lst =[结果 for循环 if筛选]

      字典推导式: dic ={key:value for循环 if 筛选}

      集合推导式: set ={key for循环 if筛选}

    3.生成器表达式

      (结果 for循环 if筛选) 

      使用生产器表达式直接得到生成器

      列表推导式:一次把所有的数据创建出来,容易产生内存浪费

      生成器表达式:记录下代码,需要的时候在生成器执行代码  效率高

  • 相关阅读:
    探索需求14
    周总结5
    周总结4
    探索需求13
    Java——迭代器
    Java——Collection集合
    Java——包装类
    Java——Arrays
    Java——BigInteger、BigDecimal
    Java——System
  • 原文地址:https://www.cnblogs.com/sophie99/p/9669154.html
Copyright © 2011-2022 走看看