如何快速掌握python中的yield from语法 python中的yield from语法快速学习

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

如何快速掌握python中的yield from语法 python中的yield from语法快速学习

PYCN   2021-03-15 我要评论
想了解python中的yield from语法快速学习的相关内容吗,PYCN在本文为您仔细讲解怎样快速掌握python中的yield from语法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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>

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们