相关疑难解决方法(0)

Python只读属性

我不知道什么时候属性应该是私有的,如果我应该使用属性.

我最近读到,setter和getter不是pythonic,我应该使用属性装饰器.没关系.

但是,如果我有属性,那么不能从类外部设置但可以读取(只读属性).这个属性应该是私有的,私有的我是指下划线,就像那样self._x?如果是,那么如何在不使用getter的情况下阅读它?我现在唯一知道的方法是写

@property
def x(self):
    return self._x
Run Code Online (Sandbox Code Playgroud)

这样我可以读取属性obj.x但我无法设置它obj.x = 1所以它没关系.

但是我真的应该关心设置不能设置的对象吗?也许我应该离开它.但是我再也不能使用下划线,因为obj._x用户读取很奇怪,所以我应该使用obj.x然后再次用户不知道他不能设置这个属性.

你有什么看法和实践?

python properties private readonly python-2.7

74
推荐指数
4
解决办法
8万
查看次数

标签 统计

private ×1

properties ×1

python ×1

python-2.7 ×1

readonly ×1