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語法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: