偏函数

偏函数:

functools模块提供很多有用的功能,其中就有偏函数

tip:int()函数可提供额外的base参数,

int('12345', base=8)

将字符串转换为8进制数。

偏函数的应用场景,假如要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:

def int2(x, base=2):

return int(x, base)

functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

>>>import functools>>>int2 = functools.partial(int, base=2)>>>int2('1000000')64>>>int2('1010101')85

小结

当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看到网上的例子: 结果: 也就是说,args接收的数据类型是单个的字符,*kwargs接收的数据类型是有名字有特指...
    阿莫米德阅读 376评论 0 1
  • http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958...
    喵在野阅读 348评论 0 2
  • Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function) ...
    牛崽儿酷阅读 121评论 0 0
  • 1)int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换: >>> i...
    木凛阅读 260评论 0 0
  • 装饰器 定义: 假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数...
    summer_lz阅读 494评论 0 0