python中惰性對象


惰性對象是什么?

首先需要明確啥是惰性計算(lazy evaluation):是指僅僅在真正需要執行的時候才計算的表達式的值。充分利用其特點 可以帶來很多的便利

1. 避免不必要的計算,帶來性能的提升。

    對於Python中的條件表達式 if x and y,在x為false的情況下y表達式的值將不再計算。而對於if x or y,當x的值為true的時候將直接返回,不再計算y的值。因此編程中可以利用該特性,在 and邏輯中,將小概率發生的條件放在前面或者在or邏輯中,將大概率發生的時間放在前面,有助於性能的提升。

2. 節省空間,使得無限循環的數據結構成為可能

     Python中最經典的使用延遲計算的例子就是生成式表達器了,它僅在每次需要計算的時候才通過yield產生所需要的元素。

 

這個惰性對象可以寫在程序中,但是不會被計算,只有在訪問或者有啥觸發的情況下,才會參與計算;

 

惰性對象有什么?

 map,所有的生成器對象

 

 

惰性對象有什么用?

1. 避免不必要的計算,帶來性能的提升。

2. 節省空間,使得無限循環的數據結構成為可能

 

舉例:

 


免責聲明!

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



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