bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python中yield指的什么意思-創(chuàng)新互聯(lián)

這篇文章主要介紹python中yield指的什么意思,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序定制開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運(yùn)作于一體。

通常的for…in…循環(huán)中,in后面是一個數(shù)組,這個數(shù)組就是一個可迭代對象,類似的還有鏈表,字符串,文件。它可以是mylist= [1, 2, 3],也可以是mylist = [x*x for x in range(3)]。 它的缺陷是所有數(shù)據(jù)都在內(nèi)存中,如果有海量數(shù)據(jù)的話將會非常耗內(nèi)存。

生成器是可以迭代的,但只可以讀取它一次。因?yàn)橛玫臅r候才生成。比如 mygenerator = (x*x for x in range(3)),注意這里用到了(),它就不是數(shù)組,而上面的例子是[]。

我理解的生成器(generator)能夠迭代的關(guān)鍵是它有一個next()方法,工作原理就是通過重復(fù)調(diào)用next()方法,直到捕獲一個異常。可以用上面的mygenerator測試。

帶有yield的函數(shù)不再是一個普通函數(shù),而是一個生成器generator,可用于迭代,工作原理同上。

yield一個類似return的關(guān)鍵字,迭代一次遇到y(tǒng)ield時就返回yield后面的值。重點(diǎn)是:下一次迭代時,從上一次迭代遇到的yield后面的代碼開始執(zhí)行。

簡要理解:yield就是return返回一個值,并且記住這個返回的位置,下次迭代就從這個位置后開始。

帶有yield的函數(shù)不僅僅只用于for循環(huán)中,而且可用于某個函數(shù)的參數(shù),只要這個函數(shù)的參數(shù)允許迭代參數(shù)。比如array.extend函數(shù),它的原型是array.extend(iterable)。

send(msg)與next()的區(qū)別在于send可以傳遞參數(shù)給yield表達(dá)式,這時傳遞的參數(shù)會作為yield表達(dá)式的值,而yield的參數(shù)是返回給調(diào)用者的值。——換句話說,就是send可以強(qiáng)行修改上一個yield表達(dá)式值。比如函數(shù)中有一個yield賦值,a

= yield 5,第一次迭代到這里會返回5,a還沒有賦值。第二次迭代時,使用.send(10),那么,就是強(qiáng)行修改a表達(dá)式的值為10,本來是None的,那么a=10

send(msg)與next()都有返回值,它們的返回值是當(dāng)前迭代遇到y(tǒng)ield時,yield后面表達(dá)式的值,其實(shí)就是當(dāng)前迭代中yield后面的參數(shù)。

第一次調(diào)用時必須先next()或send(None),否則會報錯,send后之所以為None是因?yàn)檫@時候沒有上一個yield(根據(jù)第8條)。可以認(rèn)為,next()等同于send(None)。

以上是python中yield指的什么意思的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:python中yield指的什么意思-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://vcdvsql.cn/article2/djpiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版自適應(yīng)網(wǎng)站關(guān)鍵詞優(yōu)化網(wǎng)站營銷標(biāo)簽優(yōu)化動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)