Python 匿名函数

  • Post category:Python

Python 匿名函数,也就是 lambda 函数,是一种不需要定义函数名的一次性临时函数。在某些情况下,使用匿名函数可以让我们的代码更加简介、易读,并且增加代码的灵活性。以下是 Python 匿名函数的使用方法攻略。

创建匿名函数

Python 中的 lambda 关键字用于创建匿名函数。其语法为:

lambda arguments: expression

其中,arguments为函数参数,多个参数之间用逗号分隔;expression为函数体,是一个表达式,可以访问该表达式所在作用域中的变量,最终返回计算结果。例如:

# 创建一个匿名函数,计算二次方
square = lambda x: x ** 2
print(square(3))  # 9

这里定义了一个square匿名函数,接收一个参数x,计算该参数的二次方,并返回结果。

将匿名函数作为参数传递

由于匿名函数也是一个函数,因此可以像其他函数一样作为参数传递。例如:

# 定义一个高阶函数,接收一个数字列表和一个函数作为参数
def process_list(lst, func):
    for i in range(len(lst)):
        lst[i] = func(lst[i])

# 使用匿名函数作为参数处理列表
nums = [1, 2, 3, 4, 5]
process_list(nums, lambda x: x ** 2)
print(nums)  # [1, 4, 9, 16, 25]

这里定义了一个process_list函数,接收一个数字列表和一个函数作为参数,对列表中的每个元素应用该函数。我们使用匿名函数作为参数,对每个元素求平方。最后输出修改后的列表。

将匿名函数作为返回值

匿名函数同样可以作为函数的返回值。例如:

# 定义一个高阶函数,返回一个匿名函数
def make_adder(n):
    return lambda x: x + n

# 使用返回的匿名函数
add5 = make_adder(5)
print(add5(3))  # 8

这里定义了一个make_adder函数,接收一个数字参数 n,返回一个匿名函数。这个匿名函数接收一个参数 x,返回 x + n 的值。我们使用make_adder函数获得一个匿名函数,将 5 作为参数传递,最终获得一个能够将传入数字加 5 的函数 add5。最后输出 add5(3) 的计算结果。

以上是 Python 匿名函数的使用方法攻略,希望对您有所帮助。