Python内置运算符扩展

问题描述

| 我创建了一个名为aF的float子类,其中包含额外的信息和方法。我需要在此类上创建操作,尤其是我需要能够使用此aF计算正常浮点数的乘积。 如何扩展float的ѭ0运算符,以使float * anextedFloat返回适合我需求的extendededFloat? 我知道我必须写类似
def float.__mul__()
的东西,但是我担心会删除浮点数
*
的标准定义。 你能帮助我吗 ? 谢谢     

解决方法

        假设
f
float
af
AugmentedFloat
。要使乘积
af * f
f * af
都起作用,您必须覆盖
__mul__()
__rmul__()
方法。您不需要向内置的
float
类型添加任何方法-在Python中甚至是不可能的。