Я пишу свой простой класс и хочу перегрузить метод str (), чтобы напечатать мой объект так, как я хочу. Так что проблема в том, что когда я пытаюсь print(c3)
, вывод неправильный: <class '__main__.Complex'>
. Но когда я print(c1)
, это работает правильно. Не могли бы вы объяснить, в чем проблема?
class Complex:
def __init__(self, a=0, b=0):
self.re = a
self.im = b
def __str__(self):
return '{}+{}*i'.format(self.re, self.im)
def __repr__(self):
return self.re, self.im
def __add__(self, other):
tmp = Complex
tmp.re = self.re + other.re
tmp.im = self.im + other.im
return tmp
c1 = Complex(2, 4)
c2 = Complex(5, 6)
c3 = c1 + c2
print(c3)