协程是什么?可能很多人不清楚,所以我们先从其中的yield from开始讲解。
yield from
用法详解:
yield from
是在Python3.3才出现的语法。所以这个特性在Python2中是没有的。
yield from
后面需要加的是可迭代对象,它可以是普通的可迭代对象,也可以是迭代器,甚至是生成器。
简单应用:拼接可迭代对象
我们可以用一个使用yield
和一个使用yield from
的例子来对比看下。
使用yield
# 字符串 astr=’ABC’ # 列表 alist=[1,2,3] # 字典 adict={“name”:”wangbm”,”age”:18} # 生成器 agen=(i for i in range(4,8))
def gen(*args, **kw): for item in args: for i in item: yield i
new_list=gen(astr, alist, adict, agen) print(list(new_list)) # [‘A’, ‘B’, ‘C’, 1, 2, 3, ‘name’, ‘age’, 4, 5, 6, 7]
</pre> 使用yield from # 字符串 astr=’ABC’ # 列表 alist=[1,2,3] # 字典 adict={“name”:”wangbm”,”age”:18} # 生成器 agen=(i for i in range(4,8)) def gen(*args, **kw): for item in args: yield from item new_list=gen(astr, alist, adict, agen) print(list(new_list)) # [‘A’, ‘B’, ‘C’, 1, 2, 3, ‘name’, ‘age’, 4, 5, 6, 7] <pre class="brush:js;toolbar:false">
以上就是python中yield from语法的详解。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试