Python中yield如何实现生成器实例用法解析?

2026-05-29 04:070阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1257个文字,预计阅读时间需要6分钟。

Python中yield如何实现生成器实例用法解析?

原文:本文字例讲述了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如何实现生成器实例用法解析?

原文:本文字例讲述了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的工作原理了。

阅读全文