python的匿名函数

匿名函数

1. 介绍:所谓匿名函数,就是没有名字的函数 ; 使用lambda关键字创建匿名函数。
2. 语法格式 : lambda 参数列表 : 表达式
3.注意:

  • 匿名函数冒号后面的表达式有且只能有一个
  • 匿名函数自带return,而return的结果就是表达式的计算后的结果
  • 匿名函数 的函数内容只能写一行表达式

下面两个相同的函数,上边是普通函数,下面是匿名函数.

def sum(a, b):
    return a + b
print(sum(1, 2))  #结果是 3
---------------------------------------------------------
# lambda 参数1,参数2... : 函数内容
func = lambda a, b: a + b
# 调用func函数,传参a=1,b=2 运算结果自动返回
result = func(1, 2)
print(result)  #结果是 3


为了方便理解,这有个小练习:

lambda传给calculate的第三个参数,然后第三个参数按照匿名函数的内容计算 …

# 创建一个简单的加法运算的函数calulate
def calculate(a, b, func):
    result = func(a, b, 100)
    return result

# 调用calulate函数,传入参数a:20 ,b:2 ,func:lambda x, y, z: x + y + z
result = calculate(20, 2, lambda x, y, z: x + y + z)
#这时函数内部就是:result = lambda x,y,z : 20 + 2 + 100 (x,y,z只是形参)
print(result)
# 结果就是: 122

result = calculate(20, 2, lambda x, y, z: x + y / z)
print(result)
# 结果是 20.02
再来个匿名函数的小练习 , 利用匿名函数和sort 排序:
# 需求 按年龄排序
list01 = [
    {'name': 'mayun', 'age': 2},
    {'name': 'sabeining', 'age': 4},
    {'name': 'kobi', 'age': 3},
    {'name': 'bob', 'age': 1}
]

#
def test(x):
    return x['age']

# 首先sort函数会遍历里list01里面的每个值(就是每个字典),
#  其次根据key的值进行排序,现在key取的是每个age对应的数值
list01.sort(key=lambda hehe: hehe['age'])
print(list01)
# [{'name': 'bob', 'age': 1}, {'name': 'mayun', 'age': 2}, {'name': 'kobi', 'age': 3}, {'name': 'sabeining', 'age': 4}]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值