中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中的yeild是什么

發布時間:2021-07-06 18:33:21 來源:億速云 閱讀:218 作者:chen 欄目:大數據

本篇內容介紹了“python中的yeild是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在python中,使用了yeild的函數被稱為生成器,英文名generator。

def fun(file):
    for rr in file:
        if rr == '這個是追加文件2\n':
            rr = '這個是追加文件2\n'
        yield rr


with open("xxx.txt", 'r') as f:
    readlines = f.readlines()
    with open('xxx.txt', 'w') as t:
        for i in fun(readlines):
            t.write(i)

一個帶有yield的函數就是一個generator,它和普通函數不同,生成一個 generator 看起來像函數調用,但不會執行任何函數代碼,直到對其調用 next()(在 for 循環中會自動調用 next())才開始執行。雖然執行流程仍按函數的流程執行,但每執行到一個 yield 語句就會中斷,并返回一個迭代值,下次執行時從 yield 的下一個語句繼續執行。看起來就好像一個函數在正常執行的過程中被 yield 中斷了數次,每次中斷都會通過 yield 返回當前的迭代值。

yield 的好處是顯而易見的,把一個函數改寫為一個 generator 就獲得了迭代能力,比起用類的實例保存狀態來計算下一個 next() 的值,不僅代碼簡潔,而且執行流程異常清晰。

在一個 generator function 中,如果沒有 return,則默認執行至函數完畢,如果在執行過程中 return,則直接拋出 StopIteration 終止迭代。

如果想傳參數的話用send,具體的操作接下來講解。

“python中的yeild是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四子王旗| 南川市| 府谷县| 浏阳市| 康平县| 灵山县| 丰城市| 渭源县| 华池县| 丹棱县| 化德县| 邻水| 岳阳市| 沂水县| 安陆市| 儋州市| 双峰县| 平泉县| 遂川县| 扎赉特旗| 德庆县| 灯塔市| 玛纳斯县| 望江县| 宁武县| 视频| 金塔县| 康保县| 永德县| 明溪县| 霸州市| 高邮市| 舞阳县| 昭通市| 南开区| 大城县| 长宁区| 宁远县| 洛宁县| 密山市| 衡水市|