如何继承数学运算?

8

对于一组类似数字的对象(称为有序域),您只需要以下内容:

  • 加法
  • 乘法
  • 否定
  • 倒数
  • 小于等于

其余的(如减法和相等性)将随之而来。显然,我还需要添加诸如__init____str__之类的内容,但我可以从哪种类型的对象中继承以提供其他运算符呢?我希望从上述内容中推断出的其他一些运算符包括:

  • 减法
  • 除法
  • 绝对值
  • 所有其他比较运算符
  • 等等...

2
你需要实现这些方法:http://www.rafekettler.com/magicmethods.html#numeric - jterrace
1
@jterrace 你应该把它变成一个答案。 - zmo
@zmo 谢谢,我刚刚做了。 - jterrace
3
@David:我认为问题是在问这样的一个基类是否已经存在 - icktoofay
似乎没有这样的ABC存在。如果你决定自己创建,请发表一个自我答案。 - Lauritz V. Thaulow
显示剩余5条评论
3个回答

2

4
我们应该如何使用这个数字模块呢?你有详细信息吗?我们应该从哪个类继承? - David Heffernan
我明白了。我不明白它与问题有什么关系。据我所知,这些类都不能成为字段的ABC。您应该解释哪个ABC适用于此处,并说明如何使用它。您能做到吗? - David Heffernan

2

1
虽然仅使用 <= 是不够的,但还需要 == - user395760
@delnan:没错,但总比没有好。 - icktoofay
我没有想到会这样,但是我加入了__le__和__eq__,它自动添加了所有其他操作,而无需使用functools。 - PyRulez

0

3
我了解它们。对我来说重点是不必这样做。 - PyRulez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接