Python中yield如何实现生成器实例用法解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1257个文字,预计阅读时间需要6分钟。
原文:本文字例讲述了Python+yield的用法。分享给家长和大众参考,具体如下:yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没明白yield的用法。只知道yield可产。
本文实例讲述了Python yield的用法。分享给大家供大家参考,具体如下:
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。
只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:
def addlist(alist): for i in alist: yield i + 1
取出alist的每一项,然后把i + 1塞进去。然后通过调用取出每一项:
alist = [1, 2, 3, 4] for x in addlist(alist): print x,
这的确是yield应用的一个例子
1.包含yield的函数
假如你看到某个函数包含了yield,这意味着这个函数已经是一个Generator,它的执行会和其他普通的函数有很多不同。比如下面的简单的函数:
def h(): print 'To be brave' yield 5 h()
可以看到,调用h()之后,print 语句并没有执行!这就是yield,那么,如何让print 语句执行呢?这就是后面要讨论的问题,通过后面的讨论和学习,就会明白yield的工作原理了。
本文共计1257个文字,预计阅读时间需要6分钟。
原文:本文字例讲述了Python+yield的用法。分享给家长和大众参考,具体如下:yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没明白yield的用法。只知道yield可产。
本文实例讲述了Python yield的用法。分享给大家供大家参考,具体如下:
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。
只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:
def addlist(alist): for i in alist: yield i + 1
取出alist的每一项,然后把i + 1塞进去。然后通过调用取出每一项:
alist = [1, 2, 3, 4] for x in addlist(alist): print x,
这的确是yield应用的一个例子
1.包含yield的函数
假如你看到某个函数包含了yield,这意味着这个函数已经是一个Generator,它的执行会和其他普通的函数有很多不同。比如下面的简单的函数:
def h(): print 'To be brave' yield 5 h()
可以看到,调用h()之后,print 语句并没有执行!这就是yield,那么,如何让print 语句执行呢?这就是后面要讨论的问题,通过后面的讨论和学习,就会明白yield的工作原理了。

