類可以在多大程度上「保護」其外部訪問中的某個屬性?防止在Python中訪問「private」屬性
例如,與常規的_secret
屬性的類,原始值被容易地訪問:
class Paranoid(object):
def __init__(self):
self._secret = 0
def set(self, val):
self._secret = val * 10
def get(self):
return self._secret/10
p = Paranoid()
p.set(123)
print p.get() # 123
print p._secret # 1230, should be inaccessible
如何可以接入到_secret
變得更加困難?
這裏沒有實際的應用,我只是好奇,是否有新穎的方式讓它更難訪問(在Python的上下文中 - 因此忽略了一個事實,例如,可以將調試器附加到Python進程並檢查內存)
我敢肯定,這是重複的,我記得看到一個問題,有一串有趣的嘗試,在保護屬性的答案..但我的搜索沒有發現任何 – dbr
https://plus.google.com/114760865724135687241/帖子/ HAqFzi3fnux – bossylobster