我对此处python 文档中的以下示例感到有些困惑。
>>> class inch(float):
... "Convert from inch to meter"
... def __new__(cls, arg=0.0):
... return float.__new__(cls, arg*0.0254)
...
>>> print inch(12)
0.3048
>>>
据推测,float is here 是在 Python 深处定义的实际 float 类。当我们调用 时float.__new__(cls, argument)
,我们偷偷地调用了返回给定参数的 float 实例的函数,但是我们传递给它的是 inch 类而不是 float 类。既然英寸类并没有真正做任何事情,为什么这会起作用?