itertools
functools
functools模块为了更高级的函数: 操作或者返回其他函数的函数。
方法 | 作用 | 特别说明 |
---|---|---|
functools.cmp_to_key(func) | 将一个comparison function 转换到 key function | py2到py3的sorted函数中使用 |
@functools.lru_cache(maxsize=128, typed=False) | 根据入参缓存函数的执行结果,以提高程序的效率 | |
@functools.total_ordering | 自动填充剩余的比较方法 | The class must define one of __lt__(), __le__(), __gt__(), or __ge__(). In addition, the class should supply an __eq__() method. |
functools.partial(func, *args, **kwargs) | 给函数添加默认参数 | |
class functools.partialmethod(func, *args, **keywords) | ||
functools.reduce(function, iterable[, initializer]) | 与py2中的内建函数reduce功能一样 在py3中删除了reduce内建函数 | |
@functools.singledispatch(default) | 使函数具有针对不同类型参数做不同处理的能力 | 非常有用 |
functools.update_wrapper(wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES) | ||
@functools.wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES) | 这是update_wrapper函数的装饰器版本 更新一个包裹函数 让其更像被包裹的函数 | 非常有用 特别是写装饰器的时候 |
|
|