title: python properties and inheritance
body: <p>I have a base class with a property which (the get method) I want to overwrite in the subclass. My first thought was something like:</p>
  
  <pre><code>class Foo(object):
      def _get_age(self):
          return 11
  
      age = property(_get_age)
  
  
  class Bar(Foo):
      def _get_age(self):
          return 44
  </code></pre>
  
  <p>This does not work (subclass bar.age returns 11). I found a solution with an lambda expression which works:</p>
  
  <pre><code>age = property(lambda self: self._get_age())
  </code></pre>
  
  <p>So is this the right solution for using properties and overwrite them in a subclass, or are there other preferred ways to do this?</p>