欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python yield 用法

发布时间:2025/5/22 python 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python yield 用法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

一、环境

  python 3.6

二、yield 说明

  yield 是一个生成器,可以用于迭代。也是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。

重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。

三、代码实战

# -*- coding: utf-8 -*-## for 循环调用 ## 第一次循环 n = 2, i = 0; yield i*2 = 0 打印 for i = 0 ,停在这个位置 ## 第二次循环 执行下一个语句执行,打印 after i = 0 ; i= 1 满足循环条件 yield i*=2 ,打印 for i = 2 ## 第三次循环 执行下一个语句执行,打印 after i = 1; i= 2 不满足循环条件 退出 。打印 othersdef yield_kim(n): # 0 1for i in range(n):yield i*2 # yield就类似 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后开始print("after i=",i)print("<--------------Others-------------->")## for cycle for i in yield_kim(2): print("for i=",i)#第一次输出 for i = 0 #第二次输出 after i= 0 ; for i= 2 #第三次输出 after i= 1 ; <--------------Others-------------->## 普通调用---------------------- def yield_kim2(n):print("n =",n) a = yield n*2print("a = ",a)k = yield_kim2(2) k2 = next(k) # 执行后 yield n*2 表达式的值为 4 ,a 还未赋值#输出 n = 2 View Code

四、结果截图

 

转载于:https://www.cnblogs.com/kimbo/p/9454211.html

总结

以上是生活随笔为你收集整理的Python yield 用法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。