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筛选) 

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

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

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

posted @ 2018-09-18 15:25  GU99  阅读(117)  评论(0)    收藏  举报