可爱的 Python: 在 Python 中进行函数编程,第 3 部分
2008-11-13 13:19:33 来源:WEB开发网让我们用 Haskell 的一个非常简单的示例来说明 Curry,然后在使用 functional 模块,在 Python 中重复使用同样的示例:
清单 8:Curry 一个 Haskell 计算
computation a b c d = (a + b^2+ c^3 + d^4)
check = 1 + 2^2 + 3^3 + 5^4
fillOne = computation 1
-- specify "a"
fillTwo = fillOne 2
-- specify "b"
fillThree = fillTwo 3
-- specify "c"
answer = fillThree 5
-- specify "d"
-- Result: check == answer == 657
在 Python 中:
清单 9:Curry 一个 Python 计算
>>>
from
functional
import
curry
>>> computation =
lambda
a,b,c,d: (a + b**2 + c**3 + d**4)
>>> computation(1,2,3,5)
657
>>> fillZero = curry(computation)
>>> fillOne = fillZero(1)
# specify "a"
>>> fillTwo = fillOne(2)
# specify "b"
>>> fillThree = fillTwo(3)
# specify "c"
>>> answer = fillThree(5)
# specify "d"
>>> answer
657
- ››可爱毛绒长靴 《庄园物语》皮草系列低调亮相
- ››python操作sharepoint对象模型
- ››Python 2.6.2的.pyc文件格式
- ››Python 2.6.2的字节码指令集一览
- ››Python 测试框架: 用 Python 测试框架简化测试
- ››Python 测试框架: 寻找要测试的模块
- ››Python的class系统
- ››Python 和 LDAP
- ››python图形处理库PIL(Python Image Library)
- ››Python图形图像处理库的介绍之Image模块
- ››Python和Google AppEngine开发基于Google架构的应...
- ››Python 3 初探,第 1 部分: Python 3 的新特性
更多精彩
赞助商链接