Python 类属性装饰器不起作用

标签 python python-3.x properties

我正在尝试让 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中。

关于Python 类属性装饰器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36513045/

相关文章:

javascript - 解析 JavaScript 以检测代码

python httplib httpException 错误代码

python - 对堆积条形图进行排名

java - 在应用程序启动时参数化 Java 属性文件

objective-c - Swift 只读外部,读写内部属性

python - 无法在 Pandas 中选择一个单元格

python - 处理加载缓慢的网页,从我的脚本中消除硬编码延迟

python - 嵌入 Python 3 - 没有内置函数?

python - 使用 ctypes 将字符串作为 char 指针数组传递

c# - C# 中的非整数索引索引器属性