我创建了一个名为aF的float子类,它包含额外的信息和方法。我需要在这个类上创建操作,特别是我需要能够用这个aF来计算普通浮点数的乘积。
如何扩展float的*
运算符,以便float *和augmentedFloat返回一个符合我需要的augmentedFloat?
我知道我必须写一些像def float.__mul__()
这样的东西,但我担心我会删除运算符*
的标准定义,对于浮点数。
你能帮助我吗?
由于
答案 0 :(得分:2)
我们假设f
是float
而af
是AugmentedFloat
。要使乘法af * f
和f * af
都有效,您必须覆盖__mul__()
和__rmul__()
方法。您不需要向内置float
类型添加任何方法 - 这在Python中是不可能的。