一、生成器

1、什么是生成器?

  可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象;

2、生成器在python中的表现形式?

  • 生成器函数:常规函数定义,但是使用yield语句而不是使用retum语句返回结果,yield语句一次返回一个结果,在每个结果中间挂机函数的状态,以便下次从他离开的地方执行;
  • 生成器表达式:类似于列表推导,但是生成器返回按需要产生结果的一个对象,而不是一次构建一个列表
#生成器函数(只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码)
cp = [1,2,3,4,5]
def test():
    yield 1
    yield 2
    yield 3
date = test()
print(next(date))
print(next(date))
print(next(date))
生成器函数

相关文章: