流畅的 Python 阅读记录八:重载运算符
这篇主要讲一下重载运算符的事情, 其实没几个啦, 下面是记录.
1. 重载运算符, 和 C++ 一样, 重新实现 __add__、__mul__ 这些方法即可.
2. 和 C++ 的不同: 重载 __radd__ 和 __rmul__, 如果 a+b 中发现 a 没有 __add__ 方法, 那么就会尝试调用 b 的 __radd__ 方法, 流程如图所示.

3. 和 C++ 的不同: 重载 __iadd 和 __imul__, 用于就地计算, 就是计算 a+=b 的时候会调用这些方法.
4. 一个不重要的知识: 实现了 __eq__ 而不实现 __ne__ 没有问题, 需要后者的时候会自动对前者的结果取反.