WEB开发网
开发学院软件开发Python 可爱的 Python: Python 中的函数编程 阅读

可爱的 Python: Python 中的函数编程

 2007-03-29 12:05:55 来源:WEB开发网   
核心提示: 消除副作用在除去完美的、有意义的语句不用而代之以晦涩的、嵌套的表达式的工作后,一个很自然的问题是:“为什么?!”我对 FP 的所有描述都是使用 Python 做到的,可爱的 Python: Python 中的函数编程(8),但最重要的特性 -- 可能也是具体情况中最

消除副作用

在除去完美的、有意义的语句不用而代之以晦涩的、嵌套的表达式的工作后,一个很自然的问题是:“为什么?!”我对 FP 的所有描述都是使用 Python 做到的。但最重要的特性 -- 可能也是具体情况中最有用的特性 -- 是它消除了副作用(或者至少对一些特殊领域,例如单一体,有一些牵制作用)。绝大部分程序错误 -- 和促使程序员求助于调试来解决的问题 -- 之所以会发生,是因为在程序执行过程期间,变量包含了意外的值。函数程序只不过根本就不为变量分配值,从而避免了这一特殊问题。

让我们看一段相当普通的命令代码。它的目的是打印出乘积大于 25 的几对数字的列表。组成各对的数字本身是从另外两个列表中挑选出的。这种操作与程序员在他们程序段中实际执行的操作差不多。实现这一目的的命令方法如下:

清单 7. “打印大乘积”的命令 Python 代码

    # Nested loop procedural style for finding big products
xs = (1,2,3,4)
ys = (10,15,3,22)
bigmuls = []
    # ...more stuff...
    
    
     for
     x
    
     in
     xs:
 
    
     for
     y
    
     in
     ys:
  
    # ...more stuff...
    
     if
     x*y > 25:
   bigmuls.append((x,y))
   
    # ...more stuff...
# ...more stuff...
    
    
     print
     bigmuls

上一页  3 4 5 6 7 8 9  下一页

Tags:可爱 Python Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接