美文网首页
Python——生成器(1)

Python——生成器(1)

作者: coolzpw | 来源:发表于2017-05-31 22:42 被阅读11次

一个普通的函数调用一般是这样的,从第一行代码开始执行,直到最后一行代码结束(中间有可能会遇到return,异常等会提前结束)。对于我们而言,这是一个再正常不过的函数标准执行流程,它只能返回一个至或者隐式的返回None。不过,有时可以创建能产生一个序列的函数还是有帮助的。例如,通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,拥有这种能力的“函数”被称为生成器(generator )

  • 创建生成器
  1. 只要把一个列表生成式的[]改成(),就创建了一个generator
    >>> g = (x * x for x in range(10))
    >>> g
    <generator object <genexpr> at 0x1022ef630>

  2. 任何包含yield语句的函数

     def flatten(nested):
      for sublist in nested:
           for element in sublist
                 yield element 
    

这篇主要简单介绍了下生成器以及怎么创建生成器的两种方法,接下来的系列会让大家对生成器有更深的了解以及它的作用。

相关文章

  • Python 入门之 Python三大器 之 生成器

    Python 入门之 Python三大器 之 生成器 1、生成器 (1)什么是生成器? 核心:生成器的本质就是一个...

  • python输出杨辉三角

    知识点 1. python中的生成器 generator python生成器 2. python中-1索引表示容器...

  • python生成器

    什么是python生成器? 在python中,生成器是根据某种算法边循环边计算的一种机制。 生成器有什么特点? 1...

  • Python3 Python2 差异

    1. 生成器 python2.7 python3 2. range xrange python2.7 python...

  • 理解Python中的生成器及yield关键字

    参考资料: Python生成器 python生成器到底有什么优点?

  • 第014篇:三大神器之生成器

    Python的三大神器:装饰器、迭代器、生成器 1、生成器 1.1、什么是生成器 生成器就是迭代器的一种;生成器作...

  • Python Generator(生成器)

    什么是Python Generator(生成器)?Python Generator(生成器)用于在内存资源有限的情...

  • python生成器(generator)

    1.生成器(generator)概念 生成器是迭代器,生成器提供了非常方便的自定义迭代器的途径,在Python中,...

  • 18.Python之生成器

    Python之生成器 生成器在Python社区,生成器和迭代器被看作一种工具,生成器的本质就是迭代器。唯一的区别就...

  • python学习笔记----生成器

    生成器 在Python中,这种一边循环一边计算的机制,称为生成器:generator。 创建生成器方法1 要创建一...

网友评论

      本文标题:Python——生成器(1)

      本文链接:https://www.haomeiwen.com/subject/napzpttx.html