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