Python TypeError:*=:';int';和';实例';

Python TypeError:*=:';int';和';实例';,python,python-2.7,Python,Python 2.7,我不知道如何严格要求,但以下是我的代码: class Bruch: def __init__ (self,zaehler,nenner): self.__zaehler=zaehler self.__nenner=nenner def __mul__ (self, other): self.___zaehler *= other self.__nenner *= other def mal (self,

我不知道如何严格要求,但以下是我的代码:

class Bruch:

    def __init__ (self,zaehler,nenner):
        self.__zaehler=zaehler
        self.__nenner=nenner

    def __mul__ (self, other):
        self.___zaehler *= other
        self.__nenner *= other

    def mal (self,other):
        self.__zaehler *= other
        self.__nenner *= other

    def __str__(self):
        return "Bruch : " + (self.__zaehler) + "/" + str(self.__nenner)


if __name__ == "__main__":
    bruch1 = Bruch(2,3)
    bruch2 = Bruch(4,5)
    bruchMul = bruch1.mal(bruch2)
    print bruchMul
    bruchMul2 = bruch1*bruch2
    print bruchMul2
当我运行它时,错误:

TypeError:不支持*=:“int”和“instance”的操作数类型

出现了

有人能帮我吗。

更改功能:

def __mul__ (self, other):
    self.__zaehler *= other
    self.__nenner *= other
致:


您希望返回一个新的Bruch,而不更改当前的Bruch。

+(self.\uu-zaehler)
=>
+str(self.\uu-zaehler)
它不打印任何内容None@VincentBeltman这是行不通的,因为mul realy在编辑之前不返回任何值-
def __mul__ (self, other):
    return Bruch(self.__zaehler * other.__zeahler, self.__nenner * other.__nenner)