python中的yield from语法快速学习
协程是什么?可能很多人不清楚,所以我们先从其中的yield from开始讲解。
yield from 用法详解:
yield from 是在Python3.3才出现的语法。所以这个特性在Python2中是没有的。
yield from 后面需要加的是可迭代对象,它可以是普通的可迭代对象,也可以是迭代器,甚至是生成器。
简单应用:拼接可迭代对象我们可以用一个使用yield和一个使用yield from的例子来对比看下。
使用yield
<p style='line-height: 1.75em;'><span style='font-family: 微软雅黑, 'Microsoft YaHei'; font-size: 14px;'># 字符串<br>astr=’ABC’<br># 列表<br>alist=[1,2,3]<br># 字典<br>adict={'name':'wangbm','age':18}<br># 生成器<br>agen=(i for i in range(4,8))<br><br>def gen(*args, **kw):<br> for item in args:<br> for i in item:<br> yield i<br><br>new_list=gen(astr, alist, adict, agen)<br>print(list(new_list))<br># [’A’, ’B’, ’C’, 1, 2, 3, ’name’, ’age’, 4, 5, 6, 7]<br></span></p>
使用yield from
<p style='line-height: 1.75em;'><span style='font-family: 微软雅黑, 'Microsoft YaHei'; font-size: 14px;'># 字符串<br>astr=’ABC’<br># 列表<br>alist=[1,2,3]<br># 字典<br>adict={'name':'wangbm','age':18}<br># 生成器<br>agen=(i for i in range(4,8))<br><br>def gen(*args, **kw):<br> for item in args:<br> yield from item<br><br>new_list=gen(astr, alist, adict, agen)<br>print(list(new_list))<br># [’A’, ’B’, ’C’, 1, 2, 3, ’name’, ’age’, 4, 5, 6, 7]<br></span></p>
到此这篇关于python中的yield from语法快速学习的文章就介绍到这了,更多相关如何快速掌握python中的yield from语法内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. css代码优化的12个技巧2. MyBatis JdbcType 与Oracle、MySql数据类型对应关系说明3. ASP 信息提示函数并作返回或者转向4. .NET SkiaSharp 生成二维码验证码及指定区域截取方法实现5. 在JSP中使用formatNumber控制要显示的小数位数方法6. CentOS邮件服务器搭建系列—— POP / IMAP 服务器的构建( Dovecot )7. ASP中实现字符部位类似.NET里String对象的PadLeft和PadRight函数8. jsp网页实现贪吃蛇小游戏9. 存储于xml中需要的HTML转义代码10. ASP中if语句、select 、while循环的使用方法
