定义一个三维向量类,并定义相应的特殊方法实现两个该类对象之间的加、减运算(要求支持运算符+、-),实现该类对象与标量的乘、除运算(要求支持运算符*、/),以及向量长度的计算(要求使用属性实现)。
class Vector3:
# 构造方法,初始化,定义向量坐标
def __init__(self,x,y,z):
self.a = x
self.b = y
self.c = z
# 与一个向量相加,对应分量相加,返回新向量
def __add__(self, m):
x = self.a + m.a
y = self.b + m.b
z = self.c + m.c
return Vector3(x,y,z)
# 减去另一个向量,对应分量相减,返回新向量
def __sub__(self, m):
x = self.a - m.a
y = self.b - m.b
z = self.c - m.c
return Vector3(x, y, z)
# 向量与一个数字相乘,各分量乘以同一个数字,返回新向量
def __mul__(self, n):
x, y, z = self.a*n, self.b*n, self.c*n
return Vector3(x,y,z)
# 向量除以一个数字,各分量除以同一个数字,返回新向量
def __