title: python @property not overwrite class attribute
body: <p>I'm confused with the class attribute. I understand that Python interpreter will search attr inside <code>cls.__dict_</code> (object attribute) first, If the attribute doesn't exists, it will looking for at class attributes. But in that case I dont know why the result below return None</p>
  
  <pre><code>class A(object):
      __attr = None
  
      @property
      def attr(self):
          return self.__attr
  
  class B(A):
      __attr = 1
  
  c = B()
  print(c.attr)
  # None
  </code></pre>