WEB开发网
开发学院软件开发Python 可爱的 Python: 在 Python 中进行函数编程,第 3 ... 阅读

可爱的 Python: 在 Python 中进行函数编程,第 3 部分

 2008-11-13 13:19:33 来源:WEB开发网   
核心提示:表达式绑定一个永不满足于部分解决方案的读者 -- Richard Davies -- 提出了我们是否能够始终把绑定移到单独的表达式中这样一个问题,让我们快速地浏览一下我们为什么想要这么做,可爱的 Python: 在 Python 中进行函数编程,第 3 部分,并展示一个由 comp.lang.python 的投稿者提供

表达式绑定

一个永不满足于部分解决方案的读者 -- Richard Davies -- 提出了我们是否能够始终把绑定移到单独的表达式中这样一个问题。让我们快速地浏览一下我们为什么想要这么做,并展示一个由 comp.lang.python 的投稿者提供的一个非常棒的方法。

让我们首先回顾一下 functional 模块中的 Bindings 类。通过使用那个类的属性,我们能够确保一个特殊名称在给定块的范围内只有一个意思:

清单 1:带有受保护重绑定的 Python FP 部分

>>>
  
     from
    
     functional
  
     
     import
        
    
     *
>>> let = Bindings()
>>> let.car =
  
     
     lambda
        
    
     lst: lst[0]
>>> let.car =
  
     
     lambda
        
    
     lst: lst[2]
Traceback (innermost last):
File "<stdin>", line 1,
  
     
     in
        
    
     ?
File "d:toolsfunctional.py", line 976,
  
     
     in
        
    
     __setattr__
  
     
     raise
        
    
     BindingError, "Binding '%s' cannot be modified." % name
functional.BindingError: Binding 'car' cannot be modified.
>>> let.car(range(10))
0
   

1 2 3 4 5 6  下一页

Tags:可爱 Python Python

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