所以类似于:
vector3.Length
Run Code Online (Sandbox Code Playgroud)
这实际上是一个函数调用,它计算向量的长度,而不是变量.
Bas*_*ard 14
使用新式类,您可以使用property():http://www.python.org/download/releases/2.2.3/descrintro/#property.
如果您的变量vector3是一个点与原点的三维定向距离,并且您需要它的长度,请使用以下内容:
import math
vector3 = [5, 6, -7]
print math.sqrt(vector3[0]**2 + vector3[1]**2 + vector3[2]**2)
Run Code Online (Sandbox Code Playgroud)
如果您需要适用于任意维度的解决方案,请执行以下操作:
import math
vector3 = [5, 6, -7]
print math.sqrt(sum(c ** 2 for c in vector3))
Run Code Online (Sandbox Code Playgroud)
您可以使用以下Length属性定义自己的vector类:
import math
class Vector3(object):
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
@property
def Length(self):
return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)
vector3 = Vector3(5, 6, -7)
print vector3.Length
Run Code Online (Sandbox Code Playgroud)