我有以下代碼:Python的屬性來限制訪問
class C:
def __init__(self, dx = 1):
self._dx = dx
def get_dx(self):
return self._dx
dx = property(get_dx,None,None)
c = C()
print c.dx
c.dx = 42
print c.dx # this shows 42
這應該工作(see here)。然而,這不是我的問題如下:
- 是它在所有可能從做限制用戶:
c.dx = 42
? - 如果是這樣,怎麼樣? (我的意圖是使只讀屬性,我知道,總有破解辦法解決它,但我只是想阻止標準c.dx = VAL從工作)
注意'c.dx'是'c._dx'完全不同。另外請注意,python不是java。 –
我知道c.dx與c._dx不是一樣的,但是你是指「注意python不是java」?我知道私有變量不存在於python中,就像它們在java中一樣,但是代碼的哪一部分讓你這麼說? :P –
我想我只是在質疑不可能做c.dx = 42的背後。 (但的確,你接受的答案是正確的做法!) –