本文主要是介绍Python的functools模块详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python的functools模块用以为可调用对象(callable objects)定义高阶函数或操作。简单地说,就是基于已有的函数定义新的函数。
所谓高阶函数,就是以函数作为输入参数,返回也是函数。
1. functools模块的引用
from functools import partial
2. functools模块的组成
- partial(func, *args, **keywords)
该函数的返回partial对象,其中包含3个只读属性:
- partial.func
- partial.args
- partial.keywords
- @total_ordering
实现多个比较操作方法,如__eq__, __lt__等
- @lru_cache(maxsize=128, typed=False)
只存在于内存中
- @singledispatch(default)
将函数转换为 single-dispatch generic function
- @wraps(wrapped_func, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
- update_wrapper(wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
- reduce(function, iterable[, initializer])
- cmp_to_key(func)
参考链接:
https://docs.python.org/3.5/library/functools.html
https://hg.python.org/cpython/file/3.5/Lib/functools.py
这篇关于Python的functools模块详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!