functools 模块提供用于调整或扩展函数和其他可调用对象的工具,而无需完全重写它们。
functools模块函数概览
- functools.cmp_to_key(func):该函数用于将旧式的比较函数转换为关键字函数。
- functools.total_ordering(cls):这是一个类装饰器,用于自动实现类的比较运算。
- functools.reduce(function, iterable[, initializer]):该函数与 Python 内置的 reduce() 函数相同,主要用于编写兼容 Python 3 的代码。
- functools.partial(func[, args][, *keywords]):该函数返回一个 partial 对象,调用该对象的效果相当于调用 func 函数,并传入位置参数 args 和关键字参数 keywords 。如果调用该对象时传入了位置参数,则这些参数会被添加到 args 中。如果传入了关键字参数,则会被添加到 keywords 中。
- functools.update_wrapper(wrapper, wrapped[, assigned][, updated]):该函数用于更新包装函数(wrapper),使它看起来像原函数一样。可选的参数是一个元组,assigned 元组指定要直接使用原函数的值进行替换的属性,updated 元组指定要对照原函数进行更新的属性。
- functools.wraps(wrapped[, assigned][, updated]):wraps() 简化了 update_wrapper() 函数的调用。它等价于 partial(update_wrapper, wrapped=wrapped, assigned, updated=updated)。
|