f = abs
print(f(-20))
三、匿名函数其实就是指向函数的变量
abs = len
# print(abs(-10))
print(abs([1,2,3,4])
四、高阶函数:能接收函数做参数的函数
1.变量可以指向函数
2.函数的参数可以接收变量
3.一个函数可以接收另一个函数作为参数
4.能接收函数作参数的函数就是高阶函数
def add(x,y,f):
return f(x) + f(y)
print(add(-4,8,abs))
import math
def add(x,y,f):
return f(x) + f(y)
result = add(25,9,math.sqrt)
def f(x):
return x * x
result = list(map(f,[1,2,3,4,5,6,7,8,9]))
传入两个参数的迭代:
from functools import reduce
def fun(x,y):
return x * 10 + y
result = reduce(fun,[1,3,5,7,9])
13579
用lambda表达式:
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def char2num(s):
return DIGITS[s]
def str2int(s):
return reduce(lambda x,y:x*10+y,map(char2num,s))
result = str2int('2468')
print(result)