zoukankan      html  css  js  c++  java
  • day12,迭代器,生成器。

     一:迭代器
      1,__iter__() 获取迭代器
      2,_next__() 下一个元素

     二:生成器
      1,本质就是迭代器
      两种方式写生成器
      1. 生成器函数
      2. 生成器表达式

      生成器函数
      函数内部有yield. yield返回 -> return
      yield可以把函数分段执行
      生成器函数被调用的时候. 返回生成器
      def func():
      yield
      g = func() - 得到生成器

      生成器的用法和迭代器基本一致
      __next__() 开始执行生成器 . 执行到yield. 直到没有yield. 抛出StopIteration

      send() 可以给上一个yield传值

      1. 省内存
      2. 惰性机制, 不访问__next__() 就没有值.
      3. 只能向前. 不能反复.


      各种推导式(简单)
      列表推导式 [结果 for循环 if判断]
      字典推导式 {key: value for循环 if判断}
      集合推导式 {key for循环 if判断}

      生成器表达式(最难)
      (结果 for循环 if判断)
      惰性机制, 不访问__next__() 就没有值.
      只能向前. 不能反复.

  • 相关阅读:
    js基础面试篇
    vue自定义指令
    vue兄弟节点通信
    vue----打包上线引用外部cdn
    vue----mockjs
    laravel database opearate1
    laravel seeding
    backtotop组件
    配置节流函数
    failed at the chromedriver@2.33.2 install script
  • 原文地址:https://www.cnblogs.com/wm828/p/9890697.html
Copyright © 2011-2022 走看看