2011-06-06 34 views
2

我創建了一個名爲aF的浮點子類,其中包含額外的信息和方法。我需要在這個類上創建操作,特別是我需要能夠用這個aF來計算正常浮點數的乘積。Python內置運算符擴展

如何擴展float的*運算符,以便float * augmentedFloat返回符合我需要的augmentedFloat?

我知道我必須寫一些類似def float.__mul__()的東西,但我擔心我會刪除浮點數的運算符*的標準定義。

你能幫我嗎?

感謝

+1

嘗試在您的'AugmentedFloat'類中定義'__rmul__'方法 – 2011-06-06 20:28:16

回答

2

假設ffloatafAugmentedFloat。爲了使乘法運算af * ff * af有效,您必須覆蓋__mul__()__rmul__()方法。您不需要將任何方法添加到內置的float類型 - 這在Python中甚至是不可能的。

+0

謝謝,它正在工作! – vkubicki 2011-09-04 10:23:16