实现 Vector 类,并完成 __init__(self, data) 方法。 实现 __len__(self) 特殊方法,能够通过 len(vector) 获取到向量的维度。实现 __str__(self) 特殊方法,能够通过 print(vector) 获取到向量的元素。实现向量的加法运算,如 vec3 = vec1 + vec2 。 实现向量的内积运算
时间: 2023-05-22 12:03:46 浏览: 181
向量的计算实现
以下是 Vector 类的实现代码:
class Vector:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
def __str__(self):
return str(self.data)
def __add__(self, other):
assert len(self) == len(other), "Vector dimension mismatch"
data = [self.data[i] + other.data[i] for i in range(len(self))]
return Vector(data)
def dot(self, other):
assert len(self) == len(other), "Vector dimension mismatch"
return sum([self.data[i] * other.data[i] for i in range(len(self))])
# 示例代码:
vec1 = Vector([1, 2, 3])
vec2 = Vector([4, 5, 6])
print(len(vec1)) # 3
print(vec1) # [1, 2, 3]
vec3 = vec1 + vec2 # vec3 的元素为 [5, 7, 9]
print(vec3)
dot_product = vec1.dot(vec2) # 内积为 32
print(dot_product)
阅读全文