Python_函数作参数以及lambda匿名函数

 高阶函数
  • 在Python中,函数作为参数传递给另一个函数,这种特性称为高阶函数(Higher-order function)。
  • 高阶函数可以接受一个或多个函数作为输入并返回一个新函数。
  • 高阶函数是能够接收或返回其他函数的函数,是函数式编程的一种高度抽象的编程范式。
  • 高阶函数用例:
def add(x, y):
    return x + y

def multiply(x, y):
    return x * y

def apply_operation(operation, x, y):
    return operation(x, y)

result1 = apply_operation(add, 3, 4)  # 结果为7
result2 = apply_operation(multiply, 3, 4)  # 结果为12

print(result1)
print(result2)

        此例中,apply_operation函数接受一个名为operation的函数作为参数,以及两个整数x和y。然后,它调用operation函数并将x和y作为参数传递。将不同的操作作为参数传递给apply_operation函数,从而实现灵活的计算。

  • 高阶函数的特性:
  1. 函数作为参数:可以将函数作为参数传递给另一个函数,这样就可以根据不同的需求传递不同的函数来实现不同的功能。
  2. 函数作为返回值:一个函数可以返回另一个函数,这样的设计可以用来实现一些特殊的编程模式,比如闭包和装饰器。
lambda表达式
  • lambda表达式是一种匿名函数,用于创建简单的、单行的函数对象。通常用于需要传递一个简单函数作为参数的场景中。
  • lambda表达式的定义格式为:lambda 参数列表: 表达式。其中,参数列表可以有多个参数,用逗号分隔;表达式是一个单一的表达式,不能包含复杂的语句或逻辑。
  • 在异步编程中,可以使用lambda表达式来定义回调函数。
  • 在排序时,可以使用lambda表达式来指定排序规则。

lambda表达式的语法特点:

简洁性:lambda表达式是一种简洁的函数定义方式,可以用来快速定义简单的函数。
匿名性:lambda表达式没有函数名,因此也被称为匿名函数。
限制性:lambda表达式只能包含一个表达式,不能包含复杂的语句或逻辑。
灵活性:可以在任何需要函数对象的地方使用lambda,如排序、映射等高阶函数中。
即时计算:lambda表达式通常在定义后立即执行,适用于需要即时结果的场景。
  • lambda表达式用例:
# 定义一个lambda表达式,计算两个数的和
add = lambda x, y: x + y

# 调用lambda表达式
result = add(3, 4)
print(result)  # 输出7
  • 列表排序lambda表达式用例:
numbers = [3, 1, 4, 2]
sorted_numbers = sorted(numbers, key=lambda x: x % 2)
print(sorted_numbers)  # 输出 [1, 3, 2, 4]
  • 计算两数和lambda表达式用例:
add = lambda x, y: x + y
result = add(3, 4)
print(result)  # 输出 7
  • 过滤列表偶数lambda表达式用例:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出 [2, 4, 6, 8, 10]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值