定义一个三维向量类并定义相应的特殊方法实现两个该类对象之间的加、减运算要求支持运算符+、一实现该类对象与标量的乘、除运算要求支持运算符 *、/以及向量长度的计算要求使用属性实现
以下是一个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)
@property
def length(self):
return (self._x ** 2 + self._y ** 2 + self._z ** 2) ** 0.5
该类包括一个构造函数和五个特殊方法。构造函数用于创建一个三维向量对象,接受三个参数x、y、z,分别表示向量在三个坐标轴上的分量。特殊方法__add__和__sub__分别实现了向量之间的加和减运算,使用运算符+和一。特殊方法__mul__和__truediv__实现了向量与标量之间的乘和除运算,使用运算符*和/。特殊方法__mul__实现了标量乘向量,特殊方法__truediv__实现了向量除以标量。属性length实现了向量长度的计算,使用勾股定理计算向量长度
原文地址: https://www.cveoy.top/t/topic/dHE3 著作权归作者所有。请勿转载和采集!