我期望__add__
可以正常工作,但事实并非如此(至少在Python 3.8.0中如此):
>>> 10 .__add__(5.5)
NotImplemented
>>> 10 .__radd__(5.5)
NotImplemented
另一种可行的方法:
>>> 5.5 .__add__(10)
15.5
>>> 5.5 .__radd__(10)
15.5
为什么第一个代码不起作用?它背后有充分的理由吗?
如果这些方法不起作用,那么10 + 5.5
或10 - 5.5
之类的“语法糖”操作将使用哪种方法?