我正在使用python 2.7。
我有以下课程:
class Test:
def __init__(self):
self._pos_a = ['test_1']
self._pos_b = ['test_2']
@property
def pos_a(self):
return self._pos_a
@property
def pos_b(self):
return self._pos_b
if __name__ == "__main__":
x = Test()
x.pos_a = True
print x.pos_a
>>> True
我的理解是通过使用属性装饰器,我基本上为我的两个类属性建立了一个getter方法。既然我没有创建一个setter方法,我希望我对x.pos_a的“True”赋值会引发错误。错误应该是我不能设置有getter方法但没有setter方法的属性的值。相反,该值设置为“True”,它打印没有问题。我如何实现这一目标以实现这一结果?我希望用户能够“获取”这些值,但他们不应该设置它们。
答案 0 :(得分:6)