zoukankan      html  css  js  c++  java
  • 生成器

    定义:一边循环一边计算的机制称为生成器
    最大的特点: 节省内存
    生成器的本质是迭代器

     

    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,列表推导式一目了然,生成器表达式只是一个内存地址。
  • 相关阅读:
    面向对象
    通信编程
    系统编程和单片机编程思维的改变
    代码是设计出来的
    好的代码设计
    通信传输协议数据包的独门绝技使用-----------共用体的使用
    $|^|z||/a|/l
    eubacteria|endosymbiosis|基因转移
    ctDNA|endosymbiosis
    mtDNA|ctDNA|cpDNA|
  • 原文地址:https://www.cnblogs.com/zuohangyu123/p/11884390.html
Copyright © 2011-2022 走看看