Python定义一个复数类complex使下面的代码能够工作

Python定义一个复数类Complex使得下面的代码能够工作:
C1=complex(2,3)
C2=complex c2(8,-1)
C1.add(c2)
C1.show()


class complex:
    def __init__(self,x,y) -> None:
        self.x=x
        self.y=y
    def add(self,anther):
        self.x+=anther.x
        self.y+=anther.y
    def show(self):
        print(self.x,'+',self.y,'i',sep='')

C1=complex(2,3)
C2=complex(8,-1)
C1.add(C2)
C1.show()
class complex_:
    def __init__(self, r, i):
        self.real_ = r
        self.imag_ = i
        
    def add(self, c):
        return complex_((self.real_ + c.real_) , (self.imag_ + c.imag_))
    
    def show(self):
        print(complex_(self.real_, self.imag_))
    
    def __repr__(self):
        return complex_(self.real_, self.imag_)
    
    def __str__(self):
        return f'{self.real_}+{self.imag_}j'  
    
C1 = complex_(2, 3)
C2 = complex_(8, -1)
r = C1.add(C2)
r.show()