对于一组类似数字的对象(称为有序域),您只需要以下内容:
- 加法
- 乘法
- 否定
- 倒数
- 小于等于
其余的(如减法和相等性)将随之而来。显然,我还需要添加诸如__init__
和__str__
之类的内容,但我可以从哪种类型的对象中继承以提供其他运算符呢?我希望从上述内容中推断出的其他一些运算符包括:
- 减法
- 除法
- 绝对值
- 所有其他比较运算符
- 等等...
对于一组类似数字的对象(称为有序域),您只需要以下内容:
其余的(如减法和相等性)将随之而来。显然,我还需要添加诸如__init__
和__str__
之类的内容,但我可以从哪种类型的对象中继承以提供其他运算符呢?我希望从上述内容中推断出的其他一些运算符包括:
虽然不是完整的答案,但可以使用functools.total_ordering
进行比较。
<=
是不够的,但还需要 ==
。 - user395760你需要重载运算符。
完整的方法在这里有详细的文档:http://docs.python.org/2/reference/datamodel.html