生成器

1. 生成器和生成器函数
    生成器的本质就是迭代器
    生成器的三种创建办法:
      1.通过生成器函数
      2.通过生成器表达式创建生成器
      3.通过数据转换
  生成器函数:
  函数中包含了yield的就是生成器函数
  注意:生成器函数被执行. 获取到的是生成器. 而不是函数的执行
  生成器表达式:
  (结果 for 变量 in 可迭代对象 if 筛选)
  取值:
  1. __next__()
  2. send(值) 给上一个yield位置传一个值, 第一个和最后一个yield不用传值
  3. 可以for循环
  4. list(g)
2. 各种推倒式和生成器表达式
  1. 列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]
  2. 字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果=>key:value
  3. 集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果=>key

原文地址:https://www.cnblogs.com/hu13/p/9329394.html