alf wrote:
> I did not think about any particular problem, just thought it would be
> cool to abstract out the base class. In fact you can do that in C++ (to
> some extend) using templates and parameterizing the base class.

Python is ways cooler than C++. This is a sensible use case where you
may
want to change the base class at runtime:

>>> class Base(object):
...     pass

>>> class BasePlusDebugMethods(Base):
...     pass
...

>>> class C(Base):
...     pass

>>> C.__bases__ = (BasePlusDebugMethods,)

>>> C.mro()
[<class '__main__.C'>,
 <class '__main__.BasePlusDebugMethods'>,
 <class '__main__.Base'>,
 <type 'object'>]

(i.e. in a running program with a problem you can add debug methods and
possibily
even fix the problem without restarting the program).

       Michele Simionato

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to