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,",")
  • 相关阅读:
    手动安装mysql
    spring boot 配置注入
    IOS-电话拦截
    重新入坑-IntelliJ Maven
    git使用问题
    Intelij U
    iTunes空间不足无法备份iphone的问题
    Centos7最小化安装
    实操笔记
    centos7中端口及服务对应情况(笔记)
  • 原文地址:https://www.cnblogs.com/blitheG/p/8028287.html
Copyright © 2011-2022 走看看