通过实例简单了解python yield使用方法

作者:千君君 时间:2023-03-07 23:41:02 

实例代码如下


def demo():
 print("开始执行...")
 while 1:
   res = yield '这是返回值'
   print("res:",res)
d1 = demo()
print(d1)
print(next(d1))
print("*"*20)
print(next(d1))

执行结果如下:

开始执行...
这是返回值
********************
res: None
这是返回值

代码解释,个人理解,说得不对希望能够点出:

d1 = demo();生成一个对象,不会输出任何内容

print(d1); 这里不输入任何内容,因为程序第一次遇到yield就暂停了,即使yield前面有输出语句,一样给输出

print(next(d1)); 程序会接着yield继续执行,第二次遇到yield,return“这是返回值”,加起来就会会输出开始执行...
这是返回值

print(next(d1));再次执行next(d1),相当于第三遇到yield,因为上一步相当于被return,res并没有赋值,所以为None,继续执行while,第四次遇到yield,输出“这是返回值”

来源:https://www.cnblogs.com/qianjunjun/p/13378600.html

标签:python,yield
0
投稿

猜你喜欢

  • asp使用shotgraph组件生成数字和字母验证码

    2007-09-26 12:26:00
  • Python引用类型和值类型的区别与使用解析

    2021-06-18 10:45:59
  • 详解Python中sorted()和sort()的使用与区别

    2022-05-06 17:39:09
  • Python 匹配任意字符(包括换行符)的正则表达式写法

    2023-01-23 23:11:09
  • Python 数据结构之堆栈实例代码

    2023-10-30 07:27:43
  • Tensorflow深度学习使用CNN分类英文文本

    2021-01-02 08:07:56
  • MySQL在命名用过程中所遇到的常见问题

    2008-12-05 16:03:00
  • Fiddler如何抓取手机APP数据包

    2023-12-02 04:18:57
  • python使用turtle绘制分形树

    2022-10-21 12:10:23
  • 解决pycharm回车之后不能换行或不能缩进的问题

    2023-06-11 10:45:40
  • Python利用psutil实现获取硬件,网络和进程信息

    2023-08-12 18:37:44
  • Active Server Pages 错误 ASP 0201 修复方法

    2011-03-06 10:41:00
  • laravel orm 关联条件查询代码

    2024-03-08 02:57:53
  • JS中检测数据类型的几种方式及优缺点小结

    2024-04-16 09:14:41
  • 从基础开始建立一个JS代码库第1/2页

    2024-04-16 10:40:59
  • Go Generate 代替 Makefile使用方法详解

    2024-04-27 15:28:18
  • python自然语言编码转换模块codecs介绍

    2022-10-07 00:48:40
  • python自动化测试selenium核心技术三种等待方式详解

    2023-09-16 09:06:04
  • IDEA配置连接MYSQL数据库遇到Failed这个问题解决

    2024-01-13 01:04:45
  • .img/.hdr格式转.nii格式的操作

    2023-08-25 04:56:14
  • asp之家 网络编程 m.aspxhome.com