美文网首页
充分利用Lazy evaluation的特性

充分利用Lazy evaluation的特性

作者: 叶田的学习笔记 | 来源:发表于2018-11-04 11:39 被阅读0次

Lazy evaluation:延迟计算,惰性计算,指的是仅仅在真正需要执行的时候才计算表达式。
好处

  • 避免不必要的计算,带来性能上的提升,
    比如 if x and y,if x or y
    如果对于or条件表达式,应该将值为真可能性较高的变量写在or的前面,而and则应该推后
  • 节省空间,使得无限循环的数据结构成为可能,
    比如生成器,仅在每次需要计算的时候才通过yield产生所需要的元素
from itertools import islice

def fib():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a+b

print(list(islice(fib(),5)))

结果:[0, 1, 1, 2, 3]

相关文章

网友评论

      本文标题:充分利用Lazy evaluation的特性

      本文链接:https://www.haomeiwen.com/subject/bpsrxqtx.html