Python生成器如何定义?访问生成器的方法有哪些?

这篇文章主要介绍了Python生成器如何定义?访问生成器的方法有哪些?具有一定借鉴价值 , 需要的朋友可以参考下 。希望大家阅读完这篇文章后大有收获 。下面跟着我一起来了解一下 。

Python生成器如何定义?访问生成器的方法有哪些?

文章插图
1、定义生成器
【Python生成器如何定义?访问生成器的方法有哪些?】在python中 , 生成器它也会提供一个 next(generator)内置函数来生成一个新的对象  , 当输出完所有的数据之后 , 会产生一个特定的异常 , 用于标记生成器输出结束 。下面举一个例子来给大家介绍
案例:
generator = (i for i in range(2))next(generator)0next(generator)1next(generator)Traceback (most recent call last):  File "<stdin>", line 1, in <module>StopIteration这里的代码表示的是创建一个0-2之间的整数生成器 , 在第二行生成器产生第0个整数 , 以此类推 , 第四行是生成第1个整数 , 为什么最后一行报错了呢 , 因为我这个序列里面只包含了两个整数 , 并且两个整数已经全部输出完毕 , 所以它会给我们抛出一个异常情况 。这里需要注意的地方是在创建一个生成器的时候 , 利用小括号 , 如果是创建列表记得使用方括号 。
2、使用循环语句访问生成器
根据之前生成器的原理 , 我们可以利用循环对生成器进行调用 , 然后输出全部的序列 , 举个例子:
案例:
generator = (i for i in range(4))while True:    try:        item = next(generator)        print(item)    except StopIteration:        break在上面的代码中 , 我是利用了while循环来对生成器进行调用 , 产生一个0-4之间的所有整数 , 在第三行使用while创建一个循环 , 调用next next(generator)通知生成器需要返回一个数据 , 在结束输出的时候抛出一个异常 。
运行结果:
01233、使用for循环访问生成器
不仅仅可以使用whlie循环来访问生成器 , 通过for也可以实现 , for循环访问生成器给大家举例来说明它的访问是如何实现的 , 请看下面实例:
generator = (i for i in range(4))for item in generator:    print(item)这里也是产生一个0-4之间的所有整数 , 在第二行使用for创建一个循环 , 来访问生成器 。程序运行结果如下:
0123通过学习python掌握更多其他的生成器使用方法 , 有关“Python生成器如何定义?访问生成器的方法有哪些?”今天就讲解到这里啦 , 想要了解更多内容的 , 可以继续关注哦!

    推荐阅读