用python设计一个三维向量类,并测试实现向量的加法、减法以及向量与标量的乘法和除法。
时间: 2023-06-20 21:03:31 浏览: 178
好的,下面是一个简单的三维向量类的实现:
```python
class Vector3D:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
def __add__(self, other):
return Vector3D(self.x + other.x, self.y + other.y, self.z + other.z)
def __sub__(self, other):
return Vector3D(self.x - other.x, self.y - other.y, self.z - other.z)
def __mul__(self, scalar):
return Vector3D(self.x * scalar, self.y * scalar, self.z * scalar)
def __truediv__(self, scalar):
return Vector3D(self.x / scalar, self.y / scalar, self.z / scalar)
def __str__(self):
return f"({self.x}, {self.y}, {self.z})"
```
上面的代码实现了一个简单的三维向量类,其中:
- `__init__` 方法用于初始化三维向量的三个分量;
- `__add__` 方法实现了两个向量的加法;
- `__sub__` 方法实现了两个向量的减法;
- `__mul__` 方法实现了向量与标量的乘法;
- `__truediv__` 方法实现了向量与标量的除法;
- `__str__` 方法用于返回向量的字符串表示。
接下来,我们可以使用这个三维向量类进行测试:
```python
# 创建两个向量
v1 = Vector3D(1, 2, 3)
v2 = Vector3D(4, 5, 6)
# 向量加法
print(v1 + v2) # 输出 (5, 7, 9)
# 向量减法
print(v2 - v1) # 输出 (3, 3, 3)
# 向量乘法
print(v1 * 2) # 输出 (2, 4, 6)
# 向量除法
print(v2 / 2) # 输出 (2.0, 2.5, 3.0)
```
以上就是一个简单的三维向量类的实现和测试。
阅读全文