functools -可调用对象的高阶函数和操作

functools模块用于高阶函数:作用于或返回其它函数的函数。通常,任何可调用的对象都可以被视为函数。
functools模块定义了下列函数:
@functools.cache(user_function)
@functools.cached_property(func)
functools.cmp_to_key(func)
@functools.lru_cache(user_function)
@functools.lru_cache(maxsize=128, typed=False)
@functools.total_ordering
functools.partial(func, /, *args, **keywords)
返回一个新的partial对象,当调用该对象时类似于调用func函数,而函数的参数使用args和keywords。如果有更多的参数被传递,则他们被追加到args后。如果提供了其它的关键字,则keywords被扩展或覆盖。
partial用于部分函数应用程序,它“冻结”函数参数或关键字的某些部分,从而生成具有简化签名的新对象。例如,partial可用于创建一个可调用对象,其行为类似于 int函数,其中 base 参数默认为 2:

>>> from functools import partial
>>> binary_str_2_int = partial(int, base=2)
>>> binary_str_2_int.__doc__ = '将二进制字符串转换成整数'
>>>
>>> binary_str_2_int('10010')
>>> 18

class functools.partialmethod(func, /, *args, **keywords)
functools.reduce(function, iterable[, initializer])
@functools.singledispatch
class functools.singledispatchmethod(func)
functools.update_wrapper(wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
@functools.wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
partial Objects

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值