惰性对象是什么?
首先需要明确啥是惰性计算(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. 节省空间,使得无限循环的数据结构成为可能
举例: