匿名函数
def add(a, b):
return a + b
print('0x%X' % id(add))
x = (add(4, 5)) # 函数名(实参)作用是调用函数,获取到函数的执行结果,并赋值给变量 x
print(x)
fn = add # 相当于给函数起了一个别名 fn
print(fn(3, 7))
除了使用 def 关键字定义一个函数以外,我们还能使用 lambda 表达式定义一个函数。
匿名函数,用来表达一个简单的函数,函数调用的次数很少,基本上就是调用一次。
调用匿名函数两种方式:
- 给它定义一个名字(这样很少使用)。
- 把这个函数当做参数传递给另一个函数(使用场景较多)。
mul = lambda a, b: a * b
print(mul(4, 5))
自定义一个匿名函数使用场景
def calc(a, b, fn):
c = fn(a, b)
return c
# def add(x, y):
# return x + y
#
#
# def minus(x, y):
# return x - y
# 回调函数
# x1 = calc(1, 2, add) # a = 1 ,b = 2, fn = add
# print(x1)
# x2 = calc(4, 1, minus) # a = 4,b = 1,fn = minus
# print(x2)
x3 = calc(1, 2, lambda x, y: x + y)
x4 = calc(19, 3, lambda x, y: x - y)
x5 = calc(9, 9, lambda x, y: x * y)
print(x3, x4, x5)