深入理解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實現協程操作 - 看雪。 - 博客園

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM