クラスは外部アクセスからその属性のどれをどれだけ保護できますか?例えば、従来の_secret
属性を持つクラスは、元の値が簡単にPythonの "private"属性へのアクセスを防止する
をアクセスします。
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のコンテキスト内では、メモリを調べてください)
私はこれが重複していると確信していますが、属性を保護する興味深い試みで答えがたくさんある質問が表示されていますが、私の検索では何も見つかりませんでした – dbr
https://plus.google.com/114760865724135687241/投稿/ HAqFzi3fnux – bossylobster
[我々はすべてここに大人に同意している](http://stackoverflow.com/questions/70528/why-are-pythons-private-methods-not-actually-private)。 –