zoukankan      html  css  js  c++  java
  • python

    带有yield的函数不仅仅只用于for循环中,而且可用于某个函数的参数,只要这个函数的参数允许迭代参数。比如array.extend函数,它的原型是array.extend(iterable)。

    1. 带有 yield 的函数不再是一个普通函数,而是一个生成器generator,可用于迭代,工作原理同上。
    2. yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。
    3. 简要理解:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。

    代码示例:

    #encoding:UTF-8  
    def yield_test(n):  
        for i in range(n):  
            yield call(i)  
            print("i=",i)  
        #做一些其它的事情      
        print("do something.")      
        print("end.")  
      
    def call(i):  
        return i*2  
      
    #使用for循环  
    for i in yield_test(5):  
        print(i,",")
  • 相关阅读:
    ADO.NET调用存储过程
    存储过程
    web Servise(服务)
    ADO.NET连接池
    ADO.NET
    常用语法2
    常用语法
    修改pip源为国内网站
    模块
    random模块
  • 原文地址:https://www.cnblogs.com/blitheG/p/8028287.html
Copyright © 2011-2022 走看看