匿名函数与lambda

lambda

lambda[arg1[,arg2,arg3,...argN]]:expression

python允许用lambda关键字创建匿名函数。匿名是不需要以标准的方式来声明。

特点:一个完整的lambda“语句”代表了一个表达式,这个表达式的定义体必须和声明放在同一行

在我们使用lambda的例子之前,我们不妨复习一下普通函数,

def true():
    return True

python中单行函数可以和标题写在同一行,我们不妨重新编写true()函数:

def true(): return True

以如上的方式表示true(),这有助于形象的等价于lambda表达式:

lambda:True       //没有参数返回True

在上面的例子中我们简单地用lambda创建了一个函数(对象),但是既没有保存它也没有调用。为了保留这个对象,可以将它保存在一个变量中,以后可以随时调用。方法如下:

>>>true = lambda:True
>>>true()
True

我将先展示一个标准函数,然后再是其为命名的等价物:

def add(x,y=2):return x+y <=> lambda x,y:x+y

>>> a = lambda x,y = 2:x+y
>>> a(3)
5
>>> a(3,5)
8
>>> a(0)
2
>>> a(0,9)
9
>>>

def showAllAsTuple(*z): return z <=> lambda *z: z   //元组

b = lambda *z: z
>>> b(1,'abc')
(1,'abc')
>>> b(10)
(10,)

明天分享四种内建函数的用法

吐舌头


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值