Python 匿名函数

本文介绍了Python中的匿名函数,即lambda函数,它无需定义名称,常用于简单操作且仅需一次性使用的场合。通过示例展示了如何将lambda函数作为参数传递给其他函数,以及在列表排序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名函数

  • 函数可以像普通变量一样进行赋值

    def hello():
        print('hello world') ​ print(hello.__name__) ​ a = hello ​ print(a.__name__) ​ hello() a()
  • 函数可以作为参数传递,扩展函数的功能

    def add(a, b):
        return a+b ​ def calc(a, b, func):     return func(a, b) ​ print(calc(2, 3, add))
  • 场景:当函数作为另一个函数的参数,只使用一次也得定义,否则无法使用,于是匿名函数就出现了。

  • 定义:就是没有名字的函数,使用lambda关键字定义

  • 格式:

    • 以lambda开头

    • 后面跟上该匿名函数的参数,多个参数使用逗号隔开

    • 最后一个参数的后面跟上冒号':'

    • 冒号的后面跟上一个表达式,这个表达式就是返回值,不需要使用return

  • 示例1:

    def calc(a, b, func):     return func(a, b)      # mul = lambda x, y: x*y # print(calc(3, 5, mul)) print(calc(3, 5, lambda x,y:x*y))
  • 示例2:

    # l = [5, 3, 2, 8, 6, 1]
    ​
    l = [
        {'name':'xiaowang', 'age':15, 'height':150},
       {'name':'xiaodu', 'age':14, 'height':145},    {'name':'xiaopang', 'age':12, 'height':140},    {'name':'banhua', 'age':13, 'height':155}, ] ​ # def d_key(d): #     return d['age'] # l.sort(key=d_key) # 当列表中的元素无法直接比较大小时,需要传递参数key # key是一个函数,接受元素作为参数,返回用于比较的项 l.sort(key=lambda x:x['height']) ​ for i in l:    print(i)
  • 练习:

    • 试着自己封装一个列表的sort函数,接受参数:排序对象、key、reverse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值