三十、函数进阶

  1.生成器    函数中有yield 的就是生成器函数(替代了return)

      本质就是迭代器   一个一个的创建对象     节省内存

    ①创建生成器       最后以yield结束

      1. 通过⽣成器函数

      2. 通过各种推导式来实现⽣成器
      3. 通过数据的转换也可以获取⽣成器  

    ②send用法

    send 和 __next__都是下一个的意思

      但send可以给上一个yield 位置传值   不能给最后⼀个yield发送值. 在第⼀次执⾏⽣

      成器代码的时候不能使⽤send()

 

   ③yield from

      把一个yield from循环完再循环下一个yield from

      2.推导式  (只有列表,字典,集合 .    没有元组)

    1). 列表推导式      [ 结果   for循环   if 条件]

  2).字典推导式        { 结果(k,v)   for循环   if 条件}

  3).集合推导式        {k  for循环   if 条件}

    集合的特点: ⽆序, 不重复. 所以集合推导式⾃带去重功能

  3.生成器函数

  1).生成器表达式    (i  for i  in  range(10))

    2).可以使⽤for循环来循环这个⽣成器:

    3).⽣成器表达式也可以进⾏筛选

    4).⽣成器的惰性机制: ⽣成器只有在访问的时候才取值.

最新文章

  1. 动态作用域与this +apply和call +bind
  2. Oracle 11g系列:约束
  3. 初识JNI
  4. scikit-learn中的主成分分析(PCA)的使用
  5. git不能提交jar的设置
  6. ORACLE 常用数值函数
  7. unable to load default svn client
  8. LoadRunner中常见参数和变量
  9. Go学习指南
  10. TCL_事务控制语言
  11. 修改UISearBar的文字颜色,placehoder颜色及输入框颜色
  12. JavaScript的push(),pop(),concat()方法
  13. [个人介绍]关于Hallmeow
  14. Spring Security 入门(1-8)缓存EhCache
  15. Spark技术内幕:Worker源码与架构解析
  16. 电磁波、无线电、802、WLAN及WiFi的区别与联系
  17. IDEA与eclipse:vm参数调优笔记
  18. Python memecache
  19. 敏捷项目管理工具-Trello(电子看板)
  20. OpenVPN多处理之-多队列TUN多实例

热门文章

  1. 【模板】AC自动机(简单版)
  2. SharePoint Framework 企业向导(二)
  3. Java类库和常用类库介绍
  4. Ajax的返回状态码(status)
  5. 【转】Delphi 10.3关于相机该注意的细节
  6. excel单元格内容连接
  7. 新建react项目
  8. Spring、Commons的BeanUtils.copyProperties用法
  9. 对于maven的一些命令
  10. linux 安装crontab执行定时任务