Skip to main content
 首页 » 编程设计

Python 类属性装饰器不起作用

2025年05月04日26pander-it

我正在尝试让 Python 的装饰器为我工作。我无法理解为什么这不起作用:

class toy(object): 
 
    @property 
    def toyname(self): 
        return 'lol' 
 
a = toy 
print(a.toyname) 

当我运行它时,我得到以下输出:

<property object at 0x03362FC0> 

该属性(property)似乎未被评估。

我已经看到几个关于 Python 2.x 的答案提到我需要子类化 object 才能使属性起作用;但是,到目前为止我遇到的答案并没有解决我的问题。

请您参考如下方法:

导致问题的是 a = toy 行。 a = toy 的意思是“将变量 a 指向类 toy 的定义”。你真正想做的是a = toy(),实例化一个toy类型的对象并保存在a中。