Python天天美味(25) - 深入理解yield
2024-10-13 11:55:42
Python天天美味(25) - 深入理解yield - CoderZh - 博客园
Python天天美味(25) - 深入理解yield
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:取出alist的每一项,然后把i + 1塞进去。然后通过调用取出每一项:
表达式(yield 5)的返回值将赋值给m,所以,认为 m = 5 是错误的。那么如何获取(yield 5)的返回值呢?需要用到后面要介绍的send(msg)方法。
3. 透过next()语句看原理
现在,我们来揭晓yield的工作原理。我们知道,我们上面的h()被调用后并没有执行,因为它有yield表达式,因此,我们通过next()语句让它执行。next()语句将恢复Generator执行,并直到下一个yield表达式处。比如:
, in <module>
d = c.send('Fighting!') #d 获取了yield 12 的参数值12
StopIteration注:以上观点属于本人的个人理解,如有偏差请批评指正。谢谢!
Python 天天美味系列(总)
Python 天天美味(23) - enumerate遍历数组
最新文章
- python单元测试unittest
- offsetwidth/clientwidth的区别
- JSWindow对象
- 6.3 Android Framework
- 345. Reverse Vowels of a String
- Suricata+Barnyard2+Base的IDS前端Snorby
- jQuery:节点(插入,复制,替换,删除)操作
- Google软件构建工具Bazel
- ios UIImageView处理图片大小问题
- win7电脑关机时间长怎么办
- use case 的缺陷
- 微信小程序调用高德地图
- TYVJ P1039 【忠诚2】
- css动画特效
- SQL Server性能优化(11)非聚集索引的覆盖索引存储结构
- Python基础(5)——函数
- httpd服务的安装、配置
- 中标麒麟Linux7 如何关闭广播消息
- MySql5.7配置文件my.cnf设置
- jmeter制造大批量的用户数据数据
热门文章
- 使用VS+VisualGDB编译Linux版本RCF(相当于Linux也有COM版本了)
- python 求值表达式解析
- Outlook Express 收发邮件出现&;quot;0x800CCC0F&;quot;错误代码解决方法
- 怎样获取浏览器上次的会话数据(session)
- BZOJ 3173: [Tjoi2013]最长上升子序列( BST + LIS )
- C++数据结构之二叉树
- ASP.NET - 无限极分类
- oracle 查询
- linux命令:ftp
- 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制: