このクラスを検討してください:
class A(object):
def __init__(self, name = 'hi'):
self._name = name
def getname(self):
return self._name
def setname(self, value):
self._name = value
name = property(getname, setname)
a = A('hello')
a.name で「こんにちは」と表示されます
ただしa.__dict__['name'] = 'something'
、、、およびインスタンス var. 「名前」がリセットされました。例えば。a.__dict__['_name'] = {'animal' : 'tiger'}
にa.name
なりました{'animal' : 'tiger'}
。
__dict__
その特定のオブジェクトの魔法のメソッドにアクセスするだけで、誰かが同じ/類似のものを使用してインスタンス変数の値を何かに壊すことができるのではないかと思っていましたか? ここで何か不足していますか?