python中yield的用法是什么

53次阅读
没有评论

共计 723 个字符,预计需要花费 2 分钟才能阅读完成。

在 Python 中,yield是一个关键字,用于定义生成器函数。生成器函数是一种特殊的函数,它可以在执行过程中暂停并保存当前的状态,然后在下一次调用时继续执行。使用 yield 关键字可以将生成器函数转换为迭代器,使其可以逐个产生值。

yield有两个主要的用法:

  1. 用于定义生成器函数:在函数体中使用 yield 关键字可以将函数转换为生成器函数。生成器函数在每次调用时都会返回一个生成器对象。通过调用生成器对象的 __next__() 方法或者使用 next() 函数来逐步执行函数体中的代码,当遇到 yield 语句时,函数会暂停执行并返回 yield 关键字后面的值,并保存当前的状态。下一次调用生成器对象时,函数会从之前暂停的地方继续执行,直到遇到下一个 yield 语句或者函数结束。

    示例:

    def generator():
        yield 1
        yield 2
        yield 3
    
    gen = generator()
    print(next(gen))  # 输出:1
    print(next(gen))  # 输出:2
    print(next(gen))  # 输出:3
    
  2. 用于迭代生成器对象:yield关键字可以在生成器对象中使用,用于返回值并将控制权交给调用者,然后等待调用者再次调用生成器对象。这样可以实现按需生成值的效果,而不需要一次性生成所有值。

    示例:

    def generator():
        for i in range(5):
            yield i
    
    gen = generator()
    for value in gen:
        print(value)  # 输出:0 1 2 3 4
    

总结:yield关键字用于定义生成器函数,并且可以在生成器对象中使用,用于返回值并暂停函数执行。通过迭代生成器对象,可以逐个获取生成器函数中 yield 语句返回的值。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计723字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)