Python-Lambda函数
在本教程中,我们将学习Python中的lambda函数。
什么是lambda函数?
Python中的lambda函数是一个匿名函数,可以接受多个参数,但只能具有一个表达式。
以下是lambda函数的语法。
lambda arguments: expression
其中," lambda"是我们用来创建lambda函数的关键字。
"参数"是我们传递给函数的参数,"表达式"是lambda函数的某种表达式。
关于lambda函数
它们可以接受任意数量的参数,但必须仅以表达式的形式返回一个值。
Lambda函数只能访问全局变量和其参数列表中的变量。
不能使用lambda函数仅输出值,因为lambda函数必须具有表达式。
lambda函数示例
在下面的Python程序中,我们将创建一个lambda函数,该函数采用字符串值并准备问候消息。
# lamda function greeting = lambda str: "Hello %s!" %str message = greeting('theitroad') print(message) # Hello theitroad!
在上面的代码中,我们将lambda函数分配给greeting
变量。
然后我们将字符串" theitroad"传递给问候lambda函数,该函数将返回字符串" Hello theitroad!"并将其分配给" message"变量。
最后,我们正在打印结果。
什么时候使用lambda函数?
Lambda函数通常用于需要短时间匿名函数的场景。
我们可以在函数内部使用lambda函数。
在下面的Python程序中,我们从一个函数内部返回一个lambda函数,该函数随后用于获取给定数字的双精度值。
# func def myFunc(): # return lambda function return lambda n: n * 2 doubleIt = myFunc() print(doubleIt(1)) # 2 print(doubleIt(2)) # 4 print(doubleIt(3)) # 6
在上面的代码中,我们在myFunc
函数中有一个lambda函数。
我们调用myFunc
函数,它返回分配给doubleIt
变量的lambda函数。
最后,我们调用doubleIt
函数并传递整数值,该值将被加倍并被打印出来。
我们甚至可以转换上面的代码来给我们一个更动态的乘数。
在下面的Python程序中,我们使用lambda函数创建一个动态乘法器。
# func def multiplier(N): # return lambda function return lambda x: x * N doubleIt = multiplier(2) tripleIt = multiplier(3) quadIt = multiplier(4) print(doubleIt(3)) # 6 print(tripleIt(3)) # 9 print(quadIt(3)) # 12
练习1
使用lambda函数打印数字的多维数据集。
解
N的立方= N x N x N
因此,3 = 3 x 3 x 3 = 27的立方体
在下面的Python程序中,我们将创建一个lambda函数,该函数将用于计算数字的立方。
# lambda function cube = lambda N: N * N * N print(cube(1)) # 1 print(cube(2)) # 8 print(cube(3)) # 27 print(cube(4)) # 64 print(cube(5)) # 125