现在的位置: 首页 > 综合 > 正文

Python技巧-警惕关键字

2018年04月30日 ⁄ 综合 ⁄ 共 674字 ⁄ 字号 评论关闭
 关于偏函数 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).

抱歉!评论已关闭.