Skip to main content
 首页 » 编程设计

python之将类变量重定向到类函数

2025年05月04日12sxdcgaq8080

我们以一个简单的类为例:

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 

http://docs.python.org/2/library/functions.html#property