python3(十二)functional
# 函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数! # 变量可以指向函数 abs(-10) # 10 abs # <built-in function abs> # ------abs(-10)是函数调用,而abs是函数本身 x = abs(-10) print(x) # 10 # 函数名也是变量 f = abs print(f) # <built-in function abs> print(f(-10)) # 10 # 说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同 # abs = 10 # abs(-10) # TypeError: 'int' object is not callable # abs指向10后,就无法通过abs(-10)调用该函数了!因为abs这个变量已经不指向求绝对值函数 # 传入函数 # 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 def add(x, y, f): return f(x) + f(y) print(add(-5, 6, abs)) # 11