博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的偏函数
阅读量:6120 次
发布时间:2019-06-21

本文共 639 字,大约阅读时间需要 2 分钟。

偏函数:

当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换,但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做 N 进制的转换:

>>> int('12345', base=8)5349>>> int('12345', 16)74565

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

def int2(x, base=2):    return int(x, base)

但是有更简单的方法吗?functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:

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

functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。

 

转载于:https://www.cnblogs.com/CYHISTW/p/10960157.html

你可能感兴趣的文章
浅谈JavaScript浮点数及其运算
查看>>
spring mvc+ELK从头开始搭建日志平台
查看>>
spring-boot-quartz, 依赖spring-boot-parent good
查看>>
新项目创建(MVP retrofit2.0+Rxjava+okhttp3+rxlifecycle)
查看>>
CAT部署
查看>>
oracle 11g R2 标准版 64位linux安装
查看>>
Excel小例子
查看>>
我的友情链接
查看>>
MySQL半同步的配置
查看>>
界面开发必备!免费的高清DevExpress教学视频
查看>>
抓紧时间,完成计划
查看>>
grep,sed,awk工具的使用
查看>>
我的友情链接
查看>>
马哥2016全新Linux+Python高端运维班第六周作业
查看>>
filter的作用
查看>>
我的友情链接
查看>>
网络基本功(二十七):Wireshark抓包实例分析HTTP问题(上)
查看>>
XP挑战平台(好像在国内还是第一次,果断围观,膜拜大神。。。)
查看>>
html 头 <meta>缓存属性说明
查看>>
斜杠和反斜杠的区别和用法
查看>>