Is there a way to specify a superclass at runtime?
python at mrabarnett.plus.com
Mon Oct 5 15:32:17 CEST 2009
Chris Colbert wrote:
> I have an application that needs to run different depending on whether
> the input data is being simulated, or provided from instrumentation.
> I am trying to abstract this machinery in a single class called
> Controller which I want to inherit from either SimController or
> RealController based on whether a module level flag SIMULATION is set
> to True or False.
> so I have something like this:
> SIMULATION = False
> class SimController(object):
> "do sim stuff here"
> class RealController(object):
> " do real stuff here"
> class Controller(SuperKlass):
> so if SIMULATION == False I want to be able to instance a Controller
> object that inherits from RealController and vice-versa.
> I thought this might be possible with metaclasses, but I didnt find
> anything useful in the docs or on google.
> Thanks for any help!
Why not just:
SIMULATION = False
"do sim stuff here"
" do real stuff here"
SuperKlass = SimController
SuperKlass = RealController
More information about the Python-list