Python技巧-警惕关键字

本文介绍了偏函数PFAs的概念及应用实例,展示了如何利用int()内建函数将base固定为2来实现二进制字符串的转换。通过创建部分函数简化重复参数的调用过程,并强调了正确使用关键字参数的重要性。
 关于偏函数 PFAs介绍,并举例,很好利用了函数的属性。
>>> baseTwo = partial(int, base=2)
>>> baseTwo.__doc__ = 'Convert base 2 string to an int.'
>>> baseTwo('10010')

这个例子使用了int()内建函数并将base 固定为2 来指定二进制字符串转化。现在我们没有多次用相同的第二参数(2)来调用int(),比如('10010', 2),相反,可以只用带一个参数的新baseTwo()函数。接着给新的(部分)函数加入了新的文档并又一次很好地使用了“函数属性”,这是很好的风格。要注意的是这里需要关键字参数base

警惕关键字

如果你创建了不带base 关键字的偏函数,比如, baseTwo- BAD = partial(int, 2),这可能
会让参数以错误的顺序传入int(),因为固定参数的总是放在运行时刻参数的左边, 比如
baseTwoBAD(x) == int(2, x)。如果你调用它, 它会将2 作为需要转化的数字,base 作为'10010'
来传入,接着产生一个异常:
>>> baseTwoBAD = partial(int, 2)
>>> baseTwoBAD('10010')
Traceback (most recent call last): File "<stdin>", line 1, in <module>
TypeError: an integer is required
由于关键字放置在恰当的位置, 顺序就得固定下来,因为,如你所知,关键字参数总是出现在
形参之后, 所以baseTwo(x) == int(x, base=2).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值