我正在实现一个Fraction使用分数的类(尽管python为此提供了一个库),问题是,我可以__add__在分数和整数之间使用(+)运算符,但我不能__add__在整数和整数之间使用一小部分。当表达式的顺序改变时,我得到一个错误。
>>> a = Fraction(1, 2)
>>> a + 1
Fraction(numerator=3.0, denominator=2)
>>> 1 + a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'Fraction'
>>>
有没有办法使这种表达方式1 + Fraction(1, 2)起作用?也许类的左__add__运算符Fraction?