在Python中,定义向量可以通过多种方式实现,以下是几种常见的方法:
1. 使用列表(List)表示向量:
vector = [1, 2, 3] 创建一个长度为3的向量
print("向量:", vector)
2. 使用`numpy`库表示向量:
import numpy as np
a = np.array([1, 2, 3]) 创建一个一维numpy数组表示向量
b = 5 创建一个标量
print(a * b) 数与向量的乘法
3. 自定义`Vector`类表示向量:
from math import sqrt
class Vector:
def __init__(self, x):
self.x = tuple(x)
def __str__(self):
return 'Vector(%r)' % list(self.x)
def __add__(self, other):
z = list(map(lambda x, y: x + y, self.x, other.x))
return Vector(z)
def __sub__(self, other):
z = list(map(lambda x, y: x - y, self.x, other.x))
return Vector(z)
def dot(self, other):
z = sum(list(map(lambda x, y: x * y, self.x, other.x)))
return z
def __mul__(self, scalar):
z = list(map(lambda x: x * scalar, self.x))
return Vector(z)
def __rmul__(self, scalar):
return self.__mul__(scalar)
4. 使用`math`库中的`hypot`函数定义向量的构造方法:
from math import hypot
class Vector:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __repr__(self):
return 'Vector(%r, %r)' % (self.x, self.y)
def __abs__(self):
return hypot(self.x, self.y)
def __bool__(self):
return bool(abs(self))
以上是几种在Python中定义向量的方法,您可以根据实际需求选择合适的方式。