Python property and __dict__ method
<p>consider this class:</p>

<pre><code>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')
</code></pre>

<blockquote>
  <blockquote>
    <p>a.name  will give me 'hello'</p>
  </blockquote>
</blockquote>

<p>However, i noticed that, <code>a.__dict__['name'] = 'something'</code>,  and the instance var. 'name' was reset.
Eg. <code>a.__dict__['_name'] = {'animal' : 'tiger'}</code> and <code>a.name</code> resulted in <code>{'animal' : 'tiger'}</code>.</p>

<p>I was wondering can anybody use something same/similar to corrupt the instance variable's value to anything, just by accessing the <code>__dict__</code> magic method of that particular object? Am i missing something here? </p>
