【发布时间】:2018-09-10 12:41:57
【问题描述】:
我正在尝试为 Sum 和 product 等操作下的任意模类编写类函数。
我为形状的复数和面积写了类似的。
但是,在这里我很困惑,因为我不确定是否应该在每个“方法”之后返回剩余类以及最后是否需要一个 repr 函数?
这是代码:
class ModuloZ(object):
def __init__(self,modulo,number):
self.modulo = modulo
self.number = number
def __add__(self,b):
Sum = self.number + b.number
return self.Sum % self.modulo
def __sub__ (self,b):
Remainder = self.number - b.number
return self.Remainder % self.modulo
def __mul__(self,b):
Product = self.number * b.number
return self.Product % self.modulo
我总是得到例如当我尝试打印以下内容时,ModuloZ 对象没有属性 Product:
a = ModuloZ(7, 9)
b = ModuloZ(7, 12)
print a *b
预计会得到: 3
所以,我的主要问题是,为什么我在明确定义产品操作时会得到这个,或者这不适用于这种类型的输入。
如果错误非常小或很基本,我深表歉意,但我会很感激任何提示。
【问题讨论】:
-
你为什么在那里使用
self?正如错误所说,您还没有定义任何名为self.Product的东西,只是Product。
标签: python python-2.7 class methods