您好,登錄后才能下訂單哦!
在python中使用yield時需要注意哪些事項?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
1、說明
一旦在函數中使用了yield,它就變成了生成函數。但 yield 不能和 return 共存,并且 yield 只能定義在函數中。當我們調用這個函數時,函數內部的代碼不會立即執行,所以函數只是返回一個生成器對象。當我們用for迭代它時,函數中的代碼將被執行。
2、實例
python3 新增了 yield from 語法,它相當于 for + yield。比如:
yield from a() # 等同于下面 for i in a(): yield i
拓展:yield 和 return 的區別:
return 的時候這個函數的局部變量都被銷毀了;
所有 return 是得到所有結果之后的返回;
yield 是產生了一個可以恢復的函數(生成器),恢復了局部變量;
生成器只有在調用 .next() 時才運行函數生成一個結果。
看完上述內容,你們掌握在python中使用yield時需要注意哪些事項的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。