zoukankan      html  css  js  c++  java
  • yield()返回参数函数使用

    1.带有 yield 的函数不再是一个普通函数,而是一个生成器generator,可用于迭代。

    2.yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。可以减少内存占用!

    3.简要理解:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。

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

    代码:

    ##函数,yield
    def hello():
        name = input('Please input your name:')
        print('Welcome :%s'%name)
        for i in range(8):
            #使用yield返回数值,保存当前的状态,不打断循环和函数
            #相当于此处中断一下,然后再次回到这里
            yield(i)
            print('hello:',i)
        print('函数内部')
            
    #定义主函数
    if __name__ == '__main__':
        f = hello()
        for each in f:
            print('输出:',each)
        print('ending')

    运行结果:

    结果:
    Please input your name:456
    Welcome :456
    输出: 0
    hello: 0
    输出: 1
    hello: 1
    输出: 2
    hello: 2
    输出: 3
    hello: 3
    输出: 4
    hello: 4
    输出: 5
    hello: 5
    输出: 6
    hello: 6
    输出: 7
    hello: 7
    函数内部
    ending
  • 相关阅读:
    对百度搜索法的分析评价
    第二阶段第十次spring会议
    课下作业——典型用户和用处场景
    第二阶段第九次spring会议
    第二阶段第八次spring会议
    第二阶段第七次spring会议
    第二阶段第六次spring会议
    第二阶段第五次spring会议
    第二阶段第四次spring会议
    第二阶段第三次spring会议
  • 原文地址:https://www.cnblogs.com/uchiha/p/10262214.html
Copyright © 2011-2022 走看看