在python中使用lambda演算

在面向对象编程和python没有出现之前,计算最主要的方面就是函数式编程。对计算机编程来说,一个函数就是一个演算,也可以被定义为来源于一系列对于符合特定参数的输入的有穷操作结果的集合。在python入门教程 中也提到,这些参数(parameters)是函数的参数(arguments).

如果要用伪代码的形式定义一个数学函数,用lambda形式是一个很好的方法。比如计算一个输入值x的平方,计算式是x*x。但是,对于lambda,我们用正式的函数定义:
    λ x. x·x
这个可以很容易的转换成python:
    def square(x):
        return lambda x : x*x
在这种情况下,Python会自动决定参数的数值(numerical)特性。但是,你也可以同样的定义字符操作函数。例如,定义替换函数,我们可以写成:
    λ x[y := x´]
这个函数让所有的属于x的元素x’,替换为y。在python中,我们这样写:
    def substitute(x):
        return x = x.replace(x,y)
在shell界面下的演示展现了replace字符串函数的灵活性。
    >>> x = 'cat'
    >>> y = 'dog'
    >>> x = x.replace(x, y)
    >>> x
    'dog'
    >>> x = x.replace('o', y)
    >>> x
    'ddogg'

使用lambda记法的本质是设计非常直接的直接的函数。恩,如果想学习更多的函数,参见":python入门:语法的集合

译者记:本文的第二个例子,除了验证了,python本身的的字符串函数比较灵活外,并没有显示lambda函数的优势。举得是非常之不恰当.
如果有不同的思想,欢迎email: wolfpythonlondon@gmail.com 。 共同探讨。

 


resources:http://python.about.com/od/gettingstarted/qt/beg_lamda.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值