Python 内置的 coerce
函数有哪些常见用途?如果我不知道数值 as per the documentation 的 type
,我可以看到应用它,但是否存在其他常见用法?我猜想在执行算术计算时也会调用 coerce()
,例如 x = 1.0 +2
。它是一个内置函数,所以大概它有一些潜在的常见用法?
最佳答案
它是 early python 的遗留物,它基本上使一个数字元组成为相同的基础数字类型,例如
>>> type(10)
<type 'int'>
>>> type(10.0101010)
<type 'float'>
>>> nums = coerce(10, 10.001010)
>>> type(nums[0])
<type 'float'>
>>> type(nums[1])
<type 'float'>
这也是为了让对象在旧类中表现得像数字
(在这里使用它的一个不好的例子是......)
>>> class bad:
... """ Dont do this, even if coerce was a good idea this simply
... makes itself int ignoring type of other ! """
... def __init__(self, s):
... self.s = s
... def __coerce__(self, other):
... return (other, int(self.s))
...
>>> coerce(10, bad("102"))
(102, 10)
关于python - Python 的 coerce() 是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14486802/