python中的匿名函数

在Python中函数分为两种,一种是通过def定义的函数,一种是lambda定义的匿名函数。

lambda匿名函数适合定义一些单行语句的函数,可使代码更加简洁优美。但lambda函数局限性很大,通常我们只能定义一条单独的表达式,这个表达式的结果就是返回值。我们在匿名函数中无法使用多行语句、条件分支、异常处理。

我们不适用lambda函数也可以编写python函数完成我们的功能。但lambda有起到函数速写的作用,在仅需要一小段代码程序执行的情况下,可以带来优美简洁的代码结构。

# 什么是匿名函数,匿名函数如何定义呢?
# lambda 参数,参数... : 函数体


def my_add_function(a, b):
    return a + b

# 对于一些短小函数,以上定义稍显复杂
# 是否有更简洁的定义函数方式呢?
my_add_lambda = lambda a, b: a + b

# 调用结果
ret1 = my_add_function(10, 20)
ret2 = my_add_lambda(10, 20)
print("ret1 = %d" % ret1)
print("ret2 = %d" % ret2)

匿名函数课堂练习:

students = [["John", 1001], ["Smith", 1006], ["Edward", 1004], ["Obama", 1002]]
print(students)
# 指定key排序
students.sort(key=lambda student: student[1])
print(students)
# 指定key排序
new_students = sorted(students, key=lambda student: student[1])
print(new_students)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值