高阶函数
一等公民 First-Class Object
● 函数在Python 是一等公民
● 函数也是对象,是可调用对象
● 函数可以作为普通变量,也可以作为函数参数,返回值
高阶函数
高阶函数(High-Order Function)
● 数学概念,y= f(x)
● 在数学和计算科学中,高阶函数应但是至少满足下面一个条件的函数
◇ 接受一个或多个函数作为参数
◇ 输出一个函数
def counter (base):
def inc(step=1):
nonlocal base
base+=step
return base
return inc #返回的是函数对象,不是return inc() ,并没有调用函数
c1= counter(10)
c2=counter(10)
c1==c2?# 返回的是两个不同的函数,所以不等
>>> False
def inc(step=1):
return 1
def counter(bsse):
return inc
c1=counter(10)# 这里返回的仍然是函数,所以c1=c2
c2=counter(10)
c1==c2?
>>> True
map 函数
定义:
map(func, *iterables) --> map object
举例:
map(lambda x:x+1