欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

yield浅析-Python3

程序员文章站 2022-06-16 21:30:32
yield 浅析 先来一段代码: 直接得到结果 1. yield存在于函数体中, 用于返回生成器对象, 使用了yield的函数就叫做生成器. 2. 迭代生成器对象时, 每迭代一次便返回函数体继续执行, 直到没有结果为止 3. 另外有 可用于迭代生成器对象, 但每次只会得到一次结果, 多次迭代可得到全 ......

yield 浅析

先来一段代码:

def fun1():
  for i in range(5):
    yield i
    print("继续调用继续执行")

gen1 = fun1()
print(gen1)

for i in gen1:
  print(i)

"""# 执行结果:
<generator object fun1 at 0x0365deb0>
0
继续调用继续执行
1
继续调用继续执行
2
继续调用继续执行
3
继续调用继续执行
4
继续调用继续执行
"""

直接得到结果

  1. yield存在于函数体中, 用于返回生成器对象, 使用了yield的函数就叫做生成器.
  2. 迭代生成器对象时, 每迭代一次便返回函数体继续执行, 直到没有结果为止
  3. 另外有 next(迭代对象[, 默认参数]) 可用于迭代生成器对象, 但每次只会得到一次结果, 多次迭代可得到全部结果, 结束时会返回异常[或默认参数].