🚧 🚧 🚧 页面施工中,欢迎稍后回来!🚧 🚧 🚧

Python 中的惰性计算

§ 什么是惰性计算

惰性计算、惰性求值,是计算机编程中的一个概念,也是函数式编程的一个重要特征。 它的目的在于最小化计算机的工作任务,不到必须的时候尽可能地避免执行代码。

Python 是一个支持多种范式的编程语言,map / reduce 等函数式编程的招牌角色在 Python 中也起着重要角色,但 Python 并不是一门纯粹的函数式编程语言,很多函数式编程 的重要特性都没有得到完全支持。

§ Python 是否支持惰性计算

or 运算

Python 中的 or 关键字就是个惰性计算的实例,在 a or b 表达式中, 如果 a 为真则会终止命令的继续执行,即使后面的代码会报出异常。

尾递归

惰性计算对于函数式编程的一个重要意义在于“尾递归”的优化。尾递归和惰性计算一样, 都是函数式编程中的重要特性。

§ Django 中的惰性计算

虽然在语言层面没有得到完全支持,但是 Django 等框架和库并没有放弃惰性计算的性能优势, 其 lazy(), ugettext_lazy() 等函数就是惰性计算的实现。

§ 使用生成器实现惰性计算模式

http://swizec.com/blog/python-and-lazy-evaluation/swizec/5148