super() and multiple inheritance failure

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Sat Sep 26 02:02:12 EDT 2009


En Sat, 26 Sep 2009 01:48:08 -0300, Steven D'Aprano  
<steve at remove-this-cybersource.com.au> escribió:

> I'm aiming for some sort of polymorphic inheritance: in a method, if the
> argument meets some condition, inherit from PClass, if it meets another
> condition inherit from NClass, and so on. Is there are standard name for
> this idea?

That doesn't look like an inheritance relationship ("is a").
If you say "from now on, act as a PClass, until further notice" and later  
"now, act as a NClass" you're using the Strategy pattern.

If you decide at every invocation which method to call, it's a dispatcher;  
you may use a dictionary to map each alternative to the function to be  
invoked. If it only depends on the type of the argument, there is a hidden  
gem in pkgutil (simplegeneric) that can help you.

-- 
Gabriel Genellina




More information about the Python-list mailing list