问题描述
|
我创建了一个名为aF的float子类,其中包含额外的信息和方法。我需要在此类上创建操作,尤其是我需要能够使用此aF计算正常浮点数的乘积。
如何扩展float的ѭ0运算符,以使float * anextedFloat返回适合我需求的extendededFloat?
我知道我必须写类似
def float.__mul__()
的东西,但是我担心会删除浮点数*
的标准定义。
你能帮助我吗 ?
谢谢
解决方法
假设
f
是float
,af
是AugmentedFloat
。要使乘积af * f
和f * af
都起作用,您必须覆盖__mul__()
和__rmul__()
方法。您不需要向内置的float
类型添加任何方法-在Python中甚至是不可能的。