我们以一个简单的类为例:
class Vector:
def __init__(self):
self.x = 1
self.y = 1
self.z = 1
我想给这个类一个名为 sum 的变量,这样当我这样做的时候
v = Vector()
v.sum
我得到了总和 x+y+z(在本例中为 3)。当然,我可以很容易地创建一个类方法来执行此操作,但是我将不得不编写 v.sum() 而不是 v.sum。有什么方法可以隐藏类在请求变量时实际上调用函数的事实吗?
提前致谢。
请您参考如下方法:
class Vector(object): # subclass object for new style class
def __init__(self):
self.x = 1
self.y = 1
self.z = 1
@property
def sum(self):
return self.x + self.y + self.z
>>> v = Vector()
>>> v.sum
3
