python学习交流 - 匿名函数

匿名函数

匿名函数是一个很有特色的定义函数的功能。在实际使用的过程,用户有时不得不为一些一行代码即可实现的功能来定义一个函数,例如像map, max, filter等内置函数的key参数只能接收可调用的函数名对象。为了提高编程的效率,python这门追求简洁和灵活性的语言当然也提供了匿名函数这个可以很好解决上述问题的功能。

 

何为匿名函数?

匿名函数即为使用lambda关键字定义“一句话”函数

 

匿名函数表达式举例:

lambda x: x**2 (实现求解参数的平方的功能)

说明:

1. 其中x为匿名函数的参数

2. 冒号之后的“一句话”表达式是匿名函数的返回值

3. 匿名函数表达式实际上是返回了一个可被调用的(callable)函数对象,例如可以使用以下方式用利用匿名函数求解2的平方

  func = lambda x: x**2

  result = func(2)  #调用上面定义的匿名函数

  print(result)

4. 常见应用:设置内置函数参数的key/fucnction参数

 

应用举例:

需求:找出字典中对应的value的值最大的key

1 dic={'k1':10,'k2':100,'k3':30}
2 
3 ret1 = max(dic)     #比较key
4 
5 ret2 = max(dic, key=lambda x: dic[x])     #比较value
6 
7 print(ret1)     #k3
8 
9 print(ret2)     #k2

 

由此可见,如果某个函数要实现功能只会在整个程序的运行中被调用一次,并且通过一行代码就可以实现功能,而又不得不为此定义函数的情况下,选择定义匿名函数比起用def关键字定义函数可以节省不少的工作量,并且可以让代码看起来更加简洁,可读性也相应的得到提高。

转载于:https://www.cnblogs.com/mikellxy1990/p/7823578.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值