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

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

 2007-03-29 12:05:55 来源:WEB开发网   
核心提示: 表达式版本的条件性调用似乎不过是个位置诀窍;不过,如果我们注意到 lambda 运算符必须返回表达式时,可爱的 Python: Python 中的函数编程(4),就更有趣了,因为 -- 如前所示 -- 表达式可以通过短路来包含条件块,象函数自变量一样),我们可以使用用 lambda 创建的

表达式版本的条件性调用似乎不过是个位置诀窍;不过,如果我们注意到 lambda 运算符必须返回表达式时,就更有趣了。因为 -- 如前所示 -- 表达式可以通过短路来包含条件块,所以 lambda 表达式在表达条件返回值中非常普通。在我们的示例上构建:

清单 2. Python 中 Lambda 短路

>>> pr =
    
     lambda
     s:s
>>> namenum =
    
     lambda
     x: (x==1
    
     and
     pr(
    "one"))
....         
    
     or
     (x==2
    
     and
     pr(
    "two"))
....         
    
     or
     (pr(
    "other"))
>>> namenum(1)
    'one'
>>> namenum(2)
    'two'
>>> namenum(3)
    'other'

函数作为第一类对象

上面的示例已经显示出函数在 Python 中所处的第一类的地位,但以很微妙的方式。在使用 lambda 操作创建 函数对象 时,我们有一些完全常规的事物。正是因为这样,我们可以将对象与名称 "pr" 和 "namenum" 绑定,使用的方法和将数字 23 或字符串 "spam" 与这些名称绑定的方法完全相同。但正如我们可以使用数字 23 而无需将它与任何名称绑定一样(换句话说,象函数自变量一样),我们可以使用用 lambda 创建的函数对象而不用将它与任何名称绑定。一个函数只是我们在 Python 中对其执行某些操作的另一个值。

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

Tags:可爱 Python Python

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