Python中的functools模块:
用于高阶函数,指那些作用于函数或者返回其他函数的函数,通常只要是可以被当做函数调用对象就是这个模块的目标。
cmp_to_key,将一个比较函数转换成关键字函数;
lru_cache(maxsize=128,typed=False),提供相同参数调用时的缓存,再次调用时直接返回结果;
partial:针对函数起作用,并且是部分的;
reduce:与Python内置的reduce函数功能一样;
total_wrapper:更新一个包裹(wrapper)函数,使其看起来更像被包裹的函数;
wraps,可用作一个装饰器,简化调用update_wrapper的过程;
详细:
(1)cmp_to_key:将旧风格的比较函数转换为key函数,用于接收key函数的工具,例如sort函数、min(),max()等;
比较函数可以是任何可以调用的对象,接收两个参数,比较他们,如果小于返回负数,相等返回0,大于返回正数,key函数是一个可以调用的对象,接收一个参数,并返回另外一个 值用于排序的键;
#functool模块中的比较函数:
from functools import cmp_to_key
def