首页 > 其他 > 详细

yield()返回参数函数使用

时间:2019-01-13 12:49:55      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:__name__   一行   nbsp   而且   range   而是   input   pre   允许   

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

 

yield()返回参数函数使用

标签:__name__   一行   nbsp   而且   range   而是   input   pre   允许   

原文:https://www.cnblogs.com/ruike/p/10262214.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号