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:
class Foo(object): d
I agree with your solution, which seems an on-the-fly template method. This article deals with your problem and provides exactly your solution.