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

    在def函数里面看到有yield关键字那么就是生成器
    代码执行到yield会暂停,然后把结果返回出去,下次启动生成器会在暂停的位置继续往下执行
     

     yield和return的对比

    • 使用了yield关键字的函数不再是函数,而是生成器。(使用了yield的函数就是生成器)
    • 代码执行到yield会暂停,然后把结果返回出去,下次启动生成器会在暂停的位置继续往下执行
    • 每次启动生成器都会返回一个值,多次启动可以返回多个值,也就是yield可以返回多个值
    • return只能返回一次值,代码执行到return语句就停止迭代,抛出停止迭代异常
    **注意:如果第一次启动生成器使用send方法,那么参数只能传入None,一般第一次启动生成器使用next函数
     

    小结

    • 生成器创建有两种方式,一般都使用yield关键字方法创建生成器
    • yield特点是代码执行到yield会暂停,把结果返回出去,再次启动生成器在暂停的位置继续往下执行
  • 相关阅读:
    pythonchallenge10
    线程同步
    查缺补漏
    查看QQ是否在线
    project euler10
    Toon Shading, step 2
    一种简易的卡通渲染方法(上)
    GLSL学习笔记 9.1 Transformation
    Gloss Mapping
    一种简易的卡通渲染方法(下)
  • 原文地址:https://www.cnblogs.com/lab-zj/p/12166350.html
Copyright © 2011-2022 走看看