首页 > 其他 > 详细

yield用法

时间:2014-07-13 22:23:33      阅读:410      评论:0      收藏:0      [点我收藏+]

yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行。也就是说,yield返回函数,交给调用者一个返回值,然后再“瞬移”回去,让函数继续运行, 直到吓一跳yield语句再返回一个新的值。

使用yield返回后,调用者实际得到的是一个迭代器对象,迭代器的值就是返回值,而调用该迭代器的next()方法会导致该函数恢复yield语句的执行环境继续往下跑,直到遇到下一个yield为止,如果遇不到yield,就会抛出异常表示迭代结束。

def test_yield():
    yield 1
    yield 2
    yield (1,2)
a=test_yield()
print a.next()
print a.next()
print a.next()
print a.next()

结果:

1
2
(1, 2)
Traceback (most recent call last):
File "D:\workspace_python\py201407\yield1.py", line 14, in <module>
print a.next()
StopIteration

 

1. 包含yield的函数

 

yield用法,布布扣,bubuko.com

yield用法

原文:http://www.cnblogs.com/lxj8495138/p/3840576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!