Я строй типа (dual numbers) и не может найти способ, чтобы заставить их вести себя хорошо в арифметических выражениях, как комплексные числа в Python сделать:Автоматического преобразования пользователя определить тип в Python
>>> 2 + 3 + 7j
>>> 5 + 7j
в моем случае:
>>> 3 + 4 + 5e
>>> obvious type error
Я могу легко сделать его работать, управлять __add__method, другой путь:. мой тип + построен в I, также, может сделать это делает внешние функции добавления и передачи параметров, но, очевидно, хорошая интеграция с «+» намного лучше.
Спасибо заранее. PS Где найти исходный код модулей Python (я сам мог бы выглядеть в сложном классе)?
Проверьте ['__radd__'] (https://docs.python.org/3/reference/datamodel.html#object.__radd__) – niemmi
@niemmi: это выглядит хорошо, проверит его. –
@niemmi: это круто, просто проверьте, работает для добавления, с некоторыми трюками для несимметричных операторов тоже! –