定义一个复数类Complex,完成输出复数结果的封装。
时间: 2024-03-09 18:51:22 浏览: 185
好的,以下是一个简单的Complex类的定义和实现,可以完成基本的复数运算和输出结果的封装:
```python
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
def __add__(self, other):
return Complex(self.real + other.real, self.imag + other.imag)
def __sub__(self, other):
return Complex(self.real - other.real, self.imag - other.imag)
def __mul__(self, other):
return Complex(self.real * other.real - self.imag * other.imag, self.real * other.imag + self.imag * other.real)
def __truediv__(self, other):
denominator = other.real**2 + other.imag**2
return Complex((self.real*other.real + self.imag*other.imag)/denominator, (self.imag*other.real - self.real*other.imag)/denominator)
def __str__(self):
if self.imag >= 0:
return f'{self.real}+{self.imag}i'
else:
return f'{self.real}{self.imag}i'
```
这个类有一个构造方法`__init__`,用来初始化复数的实部和虚部。还有四个运算符重载方法:`__add__`用来实现复数加法,`__sub__`用来实现复数减法,`__mul__`用来实现复数乘法,`__truediv__`用来实现复数除法。
最后,还有一个`__str__`方法,用来将复数输出为字符串格式。该方法利用了Python中的f-string,可以方便地自定义输出格式。
使用示例:
```python
a = Complex(1, 2)
b = Complex(2, -3)
print(a + b) # 输出:3-i
print(a - b) # 输出:-1+5i
print(a * b) # 输出:8-1i
print(a / b) # 输出:-0.4+0.8i
```
希望这个例子能够帮到你!
阅读全文