zoukankan      html  css  js  c++  java
  • day 12 函数生成器

    一 . 1.迭代器 :  __iter__( )       __next__( )

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

          2.生成器函数:函数内部由yield. yield返回 - >return  ,yield可以把函数分段执行,生成器函数被调用的时候,返回生成器。

          def func ( ):

                yield

          g = func ( )  ---得到生成器

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

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

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

    二 . 各种推导式

           1.列表推导式  [ 结果 for 循环 if 判断

           2.字典推导式 { key : value for循环  if 判断 }

           3.集合推导式 { key for 循环  if 判断}

    三 . 生成器表达式(难点)

            ( 结果 for 循环  if 判断)

               惰性机制  ,不访问__next__( ) 就没有值

               只能向前,不能反复

           

  • 相关阅读:
    java集合--使用集合应该关注的方面
    Linux环境Java多版本管理与切换
    java集合--LinkedList源码
    Java集合--ArrayList源码
    数据库规范化(范式)
    Java异常
    Java内部类
    Java抽象类和接口
    JavaScript 语句
    Vue.js简介
  • 原文地址:https://www.cnblogs.com/liuteacher/p/9932367.html
Copyright © 2011-2022 走看看