这篇文章主要介绍了Python生成器如何定义?访问生成器的方法有哪些?具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面跟着我一起来了解一下。
1、定义生成器
在python中,生成器它也会提供一个 next(generator)内置函数来生成一个新的对象 ,当输出完所有的数据之后,会产生一个特定的异常,用于标记生成器输出结束。下面举一个例子来给大家介绍
案例:
generator = (i for i in range(2)) next(generator) 0 next(generator) 1 next(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)通知生成器需要返回一个数据,在结束输出的时候抛出一个异常。
运行结果:
0 1 2 3
3、使用for循环访问生成器
不仅仅可以使用whlie循环来访问生成器,通过for也可以实现,for循环访问生成器给大家举例来说明它的访问是如何实现的,请看下面实例:
generator = (i for i in range(4)) for item in generator: print(item)
这里也是产生一个0-4之间的所有整数,在第二行使用for创建一个循环,来访问生成器。程序运行结果如下:
0 1 2 3
通过学习python掌握更多其他的生成器使用方法,有关“Python生成器如何定义?访问生成器的方法有哪些?”今天就讲解到这里啦,想要了解更多内容的,可以继续关注哦!
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!