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

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,转载请注明出处!