python生成器和迭代器

时间:2022-09-13 12:42:11

生成器:具有生成能力的对象

迭代器:具有取值功能的对象

 def func():

   yield 1

   yield 2

   yield 3

 ret = func()   #func()函数体称为生成器

 r=ret._next_()  #进入函数找到yield,获取yield后面的数据,通过_next_()来获取值叫做迭代器

 print(r)

 r=ret._next_()
print(r) r=ret._next_() print(r) 输出: 1 2 3

或者我们可以用一个for循环来获取yield后面的数据

 def func():

   yiled 1

   yiled 2

   yiled 3

 ret = func()

 for i in ret:

   print(i)

 输出:

 1

 2

 3