是否有关于任何地方的运算符重载的综合指南?最好是在线的,但一本书也可以。 operator module 的描述遗漏了很多内容,例如包括不能重载的运算符和缺少 r 运算符或提供合理的默认值。 (编写这些运算符是一种很好的做法,但仍然属于很好的引用)
最佳答案
Python 的运算符重载是通过在任何类中重新定义某些特殊方法来完成的。 这是explained在 Python 语言引用中。
例如,重载加法运算符:
>>> class MyClass(object):
... def __add__(self, x):
... return '%s plus %s' % (self, x)
...
>>> obj = MyClass()
>>> obj + 1
'<__main__.MyClass object at 0xb77eff2c> plus 1'
Python 3 文档中的相关章节可见here .
关于python - Python中运算符重载的综合指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400635/