title: Why is "aClass.aProperty" not callable?
body: <pre><code>class A:
    @property
    def p(self): return 2
  
    def q(self): return 2
  
  a = A()
  A.p(a) #&gt;&gt; TypeError: 'property' object is not callable
  
  A.q(a) #&gt;&gt; no error, returns 2
  </code></pre>
  
  <p>Why is this? I understand if I referred to the property on an <em>instance</em> : a.p would simply return the method return value, but I am trying to start with the property on the class. I would have expected no error above, with both evaluating to 2.</p>