在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数。lambda函数能接收任何数量(可以是0个)的参数,但只能返回一个表达式的值,lambda函数是一个函数对象,直接赋值给一个变量,这个变量就成了一个函数对象。
语法:lambda 参数:表达式
先写lambda关键字,然后依次写匿名函数的参数,多个参数中间用逗号连接,然后是一个冒号,冒号后面写返回的表达式。
使用lambda函数可以省去函数的定义,不需要声明一个函数然后使用,而可以在写函数的同时直接使用函数。
def my_calc(a, b, func):
"""
进行四则运算
:param a: 第一个数据
:param b: 第二个数据
:param func: 函数,要进行的运算
:return: 运算的结果
"""
print('其他的函数代码...')
num = func(a, b)
print(num)
def add(a, b):
return a + b
# 调用
my_calc(10, 20, add)
my_calc(10, 20, lambda a, b: a - b)
my_calc(10, 20, lambda a, b: a * b)
my_calc(10, 20, lambda a, b: a / b)
# 1. 无参无返回值
lambda: print('hello lambda')
# 2. 无参有返回值
lambda: 1 + 2
# 3. 有参无返回值
lambda name: print(name)
# 4. 有参有返回值
lambda *args: args



