美文网首页
python的高级特性:生成器函数

python的高级特性:生成器函数

作者: 金融测试民工 | 来源:发表于2020-04-07 22:03 被阅读0次

        生成器(generator)是用来创建数据序列的一种对象,使用它可以迭代庞大的序列,且不需要在内存中创建和存储整个序列(避免了占用内存),而只是在你使用它的时候它才会一个一个生成,这对性能是一个很大的帮助。生成器就是一种迭代器,你可以把生成器放在in的后边,这样每一次迭代中,会从生成器中取下一个数出来,直到生成器不再产生新的数据对象。

        如果需要生成的序列比较简单,直接一行推导式就可以完成。但如果要创建一个比较大的序列,生成器推导式将会比较复杂,一行表达式无法容纳,这时可以定义生成器函数

        生成器函数的定义和普通函数相同,只是将return换成了yield就变成生成器函数。

        yield语句和return语句的区别:

    yield语句和return语句的区别

        接着我们看一个生成器函数例子,函数even_number返回一个生成器对象:

    def even_number(max):

        n = 0

        while n < max:

            yield n

            n += 2

    for i in even_number(10):

        print (i)

    输出结果如下:

    输出结果

        这就是生成器的应用,我们在处理大量数据的时候就能获得很好的性能。

    相关文章

      网友评论

          本文标题:python的高级特性:生成器函数

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