【发布时间】:2020-03-04 15:39:56
【问题描述】:
我正在使用原始数据创建一个 python 类,如下所示:
Class Test:
def __init__(self, raw_number):
self._raw_number = raw_number
然后我将_raw_number 计算为属性以返回我想要的实际数字:
@property
def number(self):
return self._raw_number[0]
但是,当尝试在 Test 对象上设置此属性时,使用
t = Test([1, 2, 3]) # this will set the number property to 1
t.number = 5 # this is supposed to set the number property to 5
我遇到了一个错误,上面写着property number cannot be set。
我想知道为什么我可以解决这个问题?
【问题讨论】:
-
您定义了一个“get”属性,但没有定义“set”属性。查看
property文档以了解其工作原理。 -
最后一个链接不适用于我的情况,因为我没有在
init函数中定义属性(甚至是同名的私有属性)。
标签: python class properties