Python有属性吗?

Joa*_*nge 3 python

所以类似于:

vector3.Length
Run Code Online (Sandbox Code Playgroud)

这实际上是一个函数调用,它计算向量的长度,而不是变量.

pts*_*pts 5

如果您的变量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)