使用 lambda 关键字定义的函数就是匿名函数
lambda 参数列表:表达式
1、无参数无返回值
def 函数名():
函数代码
lambda:函数代码
2、无参数有返回值
def 函数名():
return 1 + 2
lambda: 1 + 2
3、有参数无返回值
def 函数名(a, b):
print(a, b)
lambda a, b: print(a, b)
4、有参数有返回值
def 函数名(a, b):
return a + b
lambda a, b: a + b
1、无参无返回值
from typing import Any, Callable
def func1():
print('hello')
(lambda: print('hello lambda'))() # 如果,没有后面的括号就无法执行输出
func1()
2、无参有返回值
def func2():
return 1 + 2
f = lambda: 1 + 2
print(f) # at 0x000002264E25B9D0>
print(f()) # 3
3、有参无返回值
def func3(name):
print(name)
f1 = lambda name: print(name)
f1('hello')
4、有参有返回值
def func4(*args):
return args
f4 = lambda *args: args
print(f4(1, 2, 3, 4, 5))
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) # return 的值不同罢了
my_calc(10, 20, lambda a, b: a * b)
my_calc(10, 20, lambda a, b: a / b)