python中的yield from語(yǔ)法快速學(xué)習(xí)
協(xié)程是什么?可能很多人不清楚,所以我們先從其中的yield from開(kāi)始講解。
yield from 用法詳解:
yield from 是在Python3.3才出現(xiàn)的語(yǔ)法。所以這個(gè)特性在Python2中是沒(méi)有的。
yield from 后面需要加的是可迭代對(duì)象,它可以是普通的可迭代對(duì)象,也可以是迭代器,甚至是生成器。
簡(jiǎn)單應(yīng)用:拼接可迭代對(duì)象
我們可以用一個(gè)使用yield和一個(gè)使用yield from的例子來(lái)對(duì)比看下。
使用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>
到此這篇關(guān)于python中的yield from語(yǔ)法快速學(xué)習(xí)的文章就介紹到這了,更多相關(guān)如何快速掌握python中的yield from語(yǔ)法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+Selenium自動(dòng)化環(huán)境搭建與操作基礎(chǔ)詳解
Selenium是如今最常用的自動(dòng)化測(cè)試工具之一,支持快速開(kāi)發(fā)自動(dòng)化測(cè)試框架,且支持在多種瀏覽器上執(zhí)行測(cè)試。本文將介紹關(guān)于Selenium?Python自動(dòng)化腳本環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2022-03-03Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例
本文主要介紹了Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04python神經(jīng)網(wǎng)絡(luò)tfrecords文件的寫入讀取及內(nèi)容解析
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)tfrecords文件的寫入讀取及內(nèi)容解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python Flask框架開(kāi)發(fā)之運(yùn)用SocketIO實(shí)現(xiàn)WebSSH方法詳解
Socket.IO本是一個(gè)面向?qū)崟r(shí)web應(yīng)用的JavaScript庫(kù),現(xiàn)在已成為擁有眾多語(yǔ)言支持的Web即時(shí)通訊應(yīng)用的框架。這篇文章主要介紹了Python 運(yùn)用SocketIO實(shí)現(xiàn)WebSSH方法2022-10-10python 根據(jù)網(wǎng)易云歌曲的ID 直接下載歌曲的實(shí)例
今天小編就為大家分享一篇python 根據(jù)網(wǎng)易云歌曲的ID 直接下載歌曲的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python3 QT5 端口轉(zhuǎn)發(fā)工具兩種場(chǎng)景分析
這篇文章主要介紹了python3 QT5 端口轉(zhuǎn)發(fā)工具,功能是打開(kāi)本機(jī)端口,映射到指定IP的端口,接下來(lái)通過(guò)兩種場(chǎng)景給大家詳細(xì)介紹,感興趣的朋友一起看看吧2022-01-01numpy和pandas中數(shù)組的合并、拉直和重塑實(shí)例
今天小編就為大家分享一篇numpy和pandas中數(shù)組的合并、拉直和重塑實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06