1-Higher-order-function.py
# 高阶函数 Higher-order-function
# 变量可以指向函数
# 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:
print(abs(-10)) # 10
print(abs) #
# 如果把函数本身赋值给变量呢?
f = abs
print(f) #
print(f(-2)) # 2
# 说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。
# 函数名也是变量
# 1. 函数名做参数 常用等级:*****
def add(x, y):
return x + y
def func(x, y, f):
return f(x, y)
print(func(1, 2, add)) # 3
# 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
# 2. map 常用等级:***
def f(x):
return x * x
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(r) #