zoukankan      html  css  js  c++  java
  • yield和return

    yield
    是用于生成器。什么是生成器,你可以通俗的认为,在一个函数中,使用了yield来代替return的位置的函数,就是生成器。它不同于函数的使用方法是:函数使用return来进行返回值,每调用一次,返回一个新加工好的数据返回给你;yield不同,它会在调用生成器的时候,把数据生成object,然后当你需要用的时候,要用next()方法来取,同时不可逆。你可以通俗的叫它"轮转容器",可用现实的一种实物来理解:水车,先yield来装入数据、产出generator object、使用next()来释放;好比水车转动后,车轮上的水槽装入水,随着轮子转动,被转到下面的水槽就能将水送入水道中流入田里。

    def func3():
    for i in range(1,5):
        yield i#装入
    
    gob = func3()#generator 类型
    print next(gob)#1    释放的第一个装入的数据,(先入先出)
    print next(gob)#2
    print next(gob)#3
    print next(gob)#4
    print next(gob)#报错
    
    

    return

    这个大家都知道了,一句话,return既可以终止函数的执行,也可以返回函数加工处理好的数据,只是这个数据需要一个载体来进行保存,通常是变量。非条件判断的时候,只要遇见return,函数就结束执行。

  • 相关阅读:
    [WP8] ListBox的Item宽度自动填满
    [WP8] Binding时,依照DataType选择DataTemplate
    [CLK Framework] CLK.Threading.PortableTimer
    Sql Server 中 根据列名查询表名
    hMailServer SSL 配置
    SmtpClient SSL 发送邮件异常排查
    hMailServer 配置
    ADO.NET 连接池 Session 状态分析
    SqlBulkCopy 参数配置示例
    arrow css
  • 原文地址:https://www.cnblogs.com/luowenConnor/p/11545000.html
Copyright © 2011-2022 走看看