• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
等夜等风
博客园    首页    新随笔    联系   管理    订阅  订阅

第二月 day1生成器

定义:一边循环一边计算的机制称为生成器

最大的特点:节省空间

生成器的你本质是迭代器

 

 send 关键字

send 对应一个yield

  1、给上一个yield传值

  2、打印yield值

      最后一个yield取不到send传的值

    

 

 yield from关键字

yield from 他会将这个科迭代对象(列表)的每一个元素当成迭代器的每个结果进行返回。

如果是yield返回时列表的整体

 

 

列表推导式   []
1.  循环模式:  [变量(加工后的变量) for 变量initerable]
2.  筛选模式:  [变量(加工后的变量) for 变量initerable   if 条件]
生成器表达式()
生成器表达式和列表推导式的语法上一模一样,只是把 [ ] 换成 ( ) 就行了
取值通过for循环,或者用list 放列表,可以直观查看到值
生成器表达式和列表推导式的区别:
•1,列表推导式比较耗内存,所有数据一次性加载到内存。而生成器表达式遵循迭代器协议,逐个产生元素。
•2,得到的值不一样,列表推导式得到的是一个列表.生成器表达式获取的是一个生成器对象
•3,列表推导式一目了然,生成器表达式只是一个内存地址。

  

      

 

posted @ 2019-11-18 20:06  等夜等风  阅读(109)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3