【python基础】六、python之匿名函数

本文深入探讨了匿名函数和递归函数的概念及应用。详细介绍了匿名函数如何简化函数定义,以及在内置函数如max、map、reduce、filter和sorted中的使用。同时,解析了递归函数的工作原理,包括调用自身、设定终点和起点的特点。

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

匿名函数

作用:简化函数的定义

def func(a, b):
    c = a + b
    print(c)
    return c
  • 格式:

    • 关键字 lambda

    lambda 参数1, 参数2: 函数体

  • 如何调用:

    s = lambda

s = lambda a, b: a + b
print(s)    # s 是个函数
  • 如何判断 有无返回呢

    只要运算 就返回

匿名函数 作为 参数出现
def func(x, y, f):
    print(x,y)
    f(x,y)
    
func(1, 2, lambda a, b: a + b)
匿名函数 与 内置函数
lt1 = [1, 2, 3, 4, 9]
print(max(lt1))  # max可以传入 列表

lt2 = [{'a': 10, 'b': 11}, {'a': 20, 'b': 21}, {'a': 30, 'b': 31}, {'a': 40, 'b': 41}, ]
# print(max(lt2))
# max(iterable, *[, default=obj, key=func]) -> value
m = max(lt2, key=lambda x: x['a'])
print(m)

上面代码,max()可以传入列表,求其最大值
但是传入的 列表包含 字典,如何求 字典 key=‘a’,的最大值呢
因此 lambda 用在传入参数为func 的位置

其他 内置函数
  • map()

    map(func, *iterables) --> map object
    Make an iterator that computes the function using arguments from
    each of the iterables.
    Stops when the shortest iterable is exhausted.

  • reduce()
  • filter()
  • sorted()
lt1 = [1, 2, 3, 4, 9]
res = map(lambda x: x * 2, lt1)

print(res)
print(list(res))


map(lambda x: x if x % 2 == 0 else x + 1, lt1)

from functools import reduce
reduce(lambda x, y: x + y, lt1)

filter(lambda x: x > 3, lt1)

filter(lambda x:x['xx'], dict)


sorted(dict, key=lambda x:x['xx'])
递归函数

函数自己 调用自己

  • 特点:
    1. 调用 自身
    2. 设定终点,判断结束
    3. 设定起点,传入参数
def sum(n):
    if n == 0:
        return 0
    else:
        return n + sum(n - 1)

re = sum(10)

print(re)

def p(n):
    if n == 0:
        print(n)
    else:
        print(n)
        p(n-1)

p(5)

在b站学习中,学习链接

个人主页

欢迎 批评 指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值