【发布时间】:2016-12-16 11:08:41
【问题描述】:
我正在构建一个类型 (dual numbers),但找不到让它们在算术表达式中表现良好的方法,就像 Python 中的复数一样:
>>> 2 + 3 + 7j
>>> 5 + 7j
就我而言:
>>> 3 + 4 + 5e
>>> obvious type error
我可以很容易地让它工作,操纵 __add__ 方法,另一种方式:我的类型 + 内置。我也可以通过外部函数添加和传递参数来做到这一点,但显然,与 '+' 的良好集成是好多了。
提前致谢。
PS 在哪里可以找到 Python 模块源代码(我可以自己查看一个复杂的类)?
【问题讨论】:
-
检查
__radd__ -
@niemmi:这看起来不错,会检查一下。
-
@niemmi:这很酷,只需检查一下,适用于加法,还有一些非对称操作的技巧!
标签: python class python-3.4 arithmetic-expressions