zoukankan      html  css  js  c++  java
  • python学习第十二天

    今日主要内容(重要)
    迭代器
    __iter__() 获取迭代器
    __next__() 下一个

    生成器
    本质就是迭代器
    两种方式写生成器
    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__() 就没有值.
    只能向前. 不能反复.
  • 相关阅读:
    Dubbo监控中心
    Dubbo 提供者配置&测试
    IDEA中pom.xml依赖另一个项目
    MBG
    查询优化技术之多级缓存
    分布式扩展流程
    Redis取值时取出的是HashMap
    linux执行sql
    Git的使用
    405
  • 原文地址:https://www.cnblogs.com/EuanXu/p/9892730.html
Copyright © 2011-2022 走看看