"对象的原因没有属性"在这段代码?

时间:2018-03-31 20:09:42

标签: python python-2.7 class methods

我正在尝试为Sum和product等操作中的任意模数类编写一个类函数。

我为复杂的数字和形状区域写了类似的东西。

然而,在这里我很困惑因为我不确定是否应该在每个"方法之后返回剩余课程#34;如果我最后需要一个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

所以,我的主要问题是为什么我在明确定义产品操作时会得到这个,或者说这种输入不起作用。

如果错误很小或很基本,我道歉,但我会很感激任何提示。

1 个答案:

答案 0 :(得分:1)

__mul__方法中,您为Product分配了一个值,但未向self.Product分配任何值,您尝试在下一行中使用该值。

与您的其他方法类似。