python中的yield使用方法

 更新时间:2014年02月11日 14:31:58   作者:  
这篇文章主要介绍了python中的yield使用方法,需要的朋友可以参考下

今天在看其他同事的代码时,发现一个没使用过的python关键字 :yield

      先问了一下同事,听他说了几句,有个模糊的印象,仅仅是模糊而已。于是自己去搜搜资料看。看了半天,逐渐清晰了。不过在工作机制以及应用上还是有点迷茫。嗯,先把初始接触的印象记下来吧。

      yield 简单说来就是一个生成器(Generator)。生成器是这样一个函数:它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。

      你看到某个函数包含了yield,这意味着这个函数已经是一个Generator,它的执行会和其他普通的函数有很多不同。

      可能看到这里还是迷迷糊糊,先看一些实例吧:

复制代码 代码如下:

      def test( data_list ):

            for x in data_list:

                 yield x + 1

      data = [1,2,3,4]

      for y in test( data ):

           print y


      则输出结果为:

      2       3       4        5

      另外一种用法:

      handle = test(data)

      handle.next()     输出  2

      handle.next()     输出  3

      handle.next()     输出  4

      handle.next()     输出  5

      handle.next()     则会报错

      这只是 yield 的初步印象,接下来慢慢摸索吧。

相关文章

  • Python数据库格式化输出文档的思路与方法

    Python数据库格式化输出文档的思路与方法

    这篇文章主要给大家介绍了关于Python数据库格式化输出文档的思路与方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Python中的for循环示例详解

    Python中的for循环示例详解

    Python中的for循环是一种迭代循环,可以迭代容器中的每一个元素,本文通过实例代码给大家介绍Python中的for循环,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Python Learning 列表的更多操作及示例代码

    Python Learning 列表的更多操作及示例代码

    这篇文章主要介绍了Python Learning-列表的更多操作,需要的朋友可以参考下
    2018-08-08
  • Python从入门到精通之类的使用详解

    Python从入门到精通之类的使用详解

    Python是一种功能强大且广泛使用的编程语言,它支持面向对象编程(OOP),本文将介绍Python中类的使用,包括类的创建、属性和方法的定义、继承和多态等关键技术点,希望对大家有所帮助
    2023-07-07
  • Python如何读取、写入JSON数据

    Python如何读取、写入JSON数据

    这篇文章主要介绍了Python如何读取、写入JSON数据,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 基于Keras的扩展性使用

    基于Keras的扩展性使用

    这篇文章主要介绍了Keras的扩展性使用操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python使用matplotlib实现基础绘图功能示例

    Python使用matplotlib实现基础绘图功能示例

    这篇文章主要介绍了Python使用matplotlib实现基础绘图功能,结合实例形式分析了Python基于matplotlib实现正弦、余弦图形及多轴图的相关绘制操作技巧,需要的朋友可以参考下
    2018-07-07
  • 使用Python自制一个回收站清理器

    使用Python自制一个回收站清理器

    经常笔记本电脑的回收站存储了很多的文件,需要打开回收站全部选中进行清理。这篇文章将使用Python自制一个回收站清理器,需要的可以参考一下
    2023-03-03
  • python编程通过蒙特卡洛法计算定积分详解

    python编程通过蒙特卡洛法计算定积分详解

    这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python中的自动化测试与质量保障详解

    Python中的自动化测试与质量保障详解

    这篇文章主要介绍了Python在软件开发中自动化测试和质量保障的重要性,以及如何使用Python的测试框架如unittest和pytest进行测试,它还讨论了编写高效的测试用例、持续集成和持续部署(CI/CD)、测试驱动开发(TDD)的实践以及性能测试和代码覆盖率分析等
    2025-01-01

最新评论