深入理解Python中的yield和send

send方法和next方法唯一的區別是在執行send方法會首先把上一次掛起的yield語句的返回值通過參數設定,從而實現與生成器方法的交互。

但是需要注意,在一個生成器對象沒有執行next方法之前,由於沒有yield語句被掛起,所以執行send方法會報錯。

因爲當send方法的參數爲None時,它與next方法完全等價。但是注意,雖然這樣的代碼可以接受,但是不規範。所以,在調用send方法之前,還是先調用一次next方法爲好。

python特性(八):生成器對象的send方法 - CSDN博客

徹底理解Python中的yield - 簡書

Python學習-yield淺析和send()函數 - CSDN博客

Python yield與實現 - cococo點點 - 博客園

yield與send實現協程操作 - 看雪。 - 博客園

轉自:https://www.cnblogs.com/wushuaishuai/p/9212812.html

發佈了104 篇原創文章 · 獲贊 52 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章