这篇文章主要介绍了什么是python生成器? 实现python生成器的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面跟着我一起来了解一下。

什么是python生成器? 实现python生成器的方法

生成器,它也会提供一个 __next__() 的方法,功能类似于迭代器。这就相当于一个程序同样可调用内置的 next() 函数来获取生成器的下一个值,还以可使用 for 循环来遍历生成器。

它们两个有相同的地方,当然就会有不同的地方,两者的区别在于,生成器是先定义一个包含 yield 语句的函数,然后通过调用该函数来创建一个生成器。而迭代器通常是先定义一个迭代器类,然后通过创建实例来创建迭代器。

如何让程序变得很优雅?通过Python 使用生成器可以满足这个要求,因为它是一种非常优秀的语法结构。

创建生成器

创建生成器需要两步操作:

第一步:定义一个包含 yield 语句的函数。

第二步:调用第 1 步创建的函数得到生成器。

下面程序使用生成器来定义一个差值递增的数列。程序先定义了一个包含 yield 语句的函数:

def tt(val, step):
    print("--------函数从这里开始执行------")
    a = 0
    # 遍历0~val
    for i in range(val):
        # a添加i*step
        a += i * step
        yield a

对于上面的例子,可以知道生成器的方法如何使用,总的来说就是一句话:

外部程序通过 send() 方法发送数据而生成器函数使用 yield 语句接收收据。

关于什么是python生成器? 实现python生成器的方法的相关内容到这里结束了,阅读完之后,相信大家对python生成器都有了一定的了解吧!可以继续关注哦!更多详细的解决方法等着你来学习!

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!