48. 是否使用过functools中的函数?其作用是什么?

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)。
发布了72 篇原创文章 · 获赞 7 · 访问量 8959

猜你喜欢

转载自blog.csdn.net/CHERISHGF/article/details/105308610