7-3 复数类的操作 分数 16
时间: 2024-04-30 19:22:19 浏览: 29
复数类的操作主要包括以下内容:
1. 实部和虚部的获取和设置
2. 模长的计算
3. 复数加、减、乘、除运算
4. 复数的共轭和相反数
下面是一个简单的复数类实现:
```python
class ComplexNumber:
def __init__(self, real=0, imag=0):
self.real = real
self.imag = imag
def get_real(self):
return self.real
def set_real(self, real):
self.real = real
def get_imag(self):
return self.imag
def set_imag(self, imag):
self.imag = imag
def modulus(self):
return (self.real ** 2 + self.imag ** 2) ** 0.5
def __add__(self, other):
return ComplexNumber(self.real + other.real, self.imag + other.imag)
def __sub__(self, other):
return ComplexNumber(self.real - other.real, self.imag - other.imag)
def __mul__(self, other):
return ComplexNumber(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 ComplexNumber((self.real * other.real + self.imag * other.imag) / denominator, (self.imag * other.real - self.real * other.imag) / denominator)
def conjugate(self):
return ComplexNumber(self.real, -self.imag)
def opposite(self):
return ComplexNumber(-self.real, -self.imag)
```
这里我们用到了 Python 中的魔术方法,即以双下划线开头和结尾的方法,例如 `__add__`、`__sub__`、`__mul__` 和 `__truediv__` 分别表示复数的加、减、乘、除运算。这些方法可以让我们像使用内置类型一样使用自定义类型。
下面是一些使用示例:
```python
# 创建复数对象
z1 = ComplexNumber(1, 2)
z2 = ComplexNumber(3, 4)
# 获取实部和虚部
print(z1.get_real(), z1.get_imag()) # 1 2
# 设置实部和虚部
z1.set_real(5)
z1.set_imag(6)
print(z1.get_real(), z1.get_imag()) # 5 6
# 计算模长
print(z1.modulus()) # 7.810249675906654
# 复数加、减、乘、除运算
print(z1 + z2) # (8+10j)
print(z1 - z2) # (-2-2j)
print(z1 * z2) # (-7+36j)
print(z1 / z2) # (0.44+0.08j)
# 复数的共轭和相反数
print(z1.conjugate()) # (5-6j)
print(z1.opposite()) # (-5-6j)
```