'''
变量可以指向函数
'''
print(abs(-10))#取绝对值,函数调用
print(abs)#调用函数本身
f = abs
print(f(-10))#函数本身也可以赋值给变量,即变量指向函数
'''
函数名也是变量
'''
'''
传入函数
既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数
'''
def add(x, y, f):
return f(x) + f(y)
f = abs
print(add(-5, 6, abs))
'''
map()/ reduce函数
'''
def f(x):
return x * x
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8])
list(r)
print(list(r))
'''
sorted()方法
'''
print(sorted([23, 34, -564,1,4], key = abs))
'''
返回函数
函数最为返回值 高阶函数除了可以接受函数作为参数外,还可以吧函数最为返回结果值返回
'''
def calc_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
f = calc_sum(1, 2, 3, 4, 5, 6)
print(f)#返回的是一个函数本身
print(f())#打印计算值
'''
匿名函数
当我们传入函数时,有些时候,不需要显示的定义函数没直接传入匿名函数更方便
关键字lambda表示匿名函数, 冒号前表示函数参数
'''
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6])))
'''
装饰器
由于函数也是一个对象, 而且函数对象可以被赋值给变量, 所有通过变量也能调用该函数
'''
def now():
print('2015-5-26')
f = now
print(f())
print(now.__name__)#通过__name__属性拿到函数的名字
print(f.__name__)
'''
偏函数
functools.partial帮我们创建偏函数,作用把一个函数的某些参数给固定住(也就是设定默认值), 返回一个新函数
'''
import functools
int2 = functools.partial(int, base = 2)
print(int2('10000000'))
Python基础之四函数式编程
最新推荐文章于 2024-10-02 10:53:34 发布