码迷,mamicode.com
首页 > 编程语言 > 详细

初步了解yield_python

时间:2015-06-29 22:14:33      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

  yield 关键字是在学习python生成器(Generator)时遇到的,对于它及Generator至今我还不能很深入的理解,当前只是把所理解的知识作下记录,以便以后翻查。

  yield关键字是用来定义生成器(Generator),其具体功能是可以当作return使用,从函数里返回一个值,其区别是使用yield返回之后,下次调用函数可以从上回yield返回的地址继续向下执行。

  使用yield返回后,调用者实际是到了一个迭代器对象,迭代器的值就是返回值,通过调用该迭代器next()方法可恢复yield语句的执行环境继续向下执行,直至遇到下一个yield为止,如果遇不到yield,则会出现StopIteration错误提示。

1 def f():
2     print Hi, yield!
3     yield 2
4     print you can do it!
5     yield 12
6     print stop it now!
 2 >>> y.next()
 3 Hi, yield!
 4 2
 5 >>> y.next()
 6 you can do it!
 7 12
 8 >>> y.next()
 9 stop it now!
10 
11 Traceback (most recent call last):
12   File "<pyshell#29>", line 1, in <module>
13     y.next()
14 StopIteration

  对于 yield 的 send(msg) 和 next(),以及 throw() 和 close() 中断 Generator的相关知识,等在实际代码中运用到时再继续研究。

初步了解yield_python

标签:

原文地址:http://www.cnblogs.com/qinzhaijushi/p/4608865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!