美文网首页
充分利用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