[Python-es] búsqueda automática de clases en un paquete

Jose Caballero jcaballero.hep en gmail.com
Mie Oct 27 16:16:24 CEST 2010


>
>
> >
> > Respecto a la clase Base, quiero ver si puedo implementar un
> >
> >  raise NotImplementedError
> >
> > Lo he intentado pero no me ha funcionado. Si llamo a un método no
> implementado en una de las clases heredadas me lanza una excepción
> AttributeError en lugar de NotImplementedError.
> >
>
> {{{
> #!python
>
> class Base:
>    def oh_mary_mary(self):
>         raise NotImplementedError('... you should be out of your mind ...')
>
> class SubClass:
>    r"""Every little thing she does is magic ..."""
>
> # PUM !!!
> SubClass().oh_mary_mary()
>
> }}}
>


Como digo, así sin más no parece funcionar. Funciona perfectamente si
SubClass está heredada de Base. En ese caso no hay problema. Pero en el
código propuesto con metaclases SubClass no hereda de Base, y por tanto el

  raise NotImplementedError

no parece afectarle a SubClass. Supongo que todo es cuestión de dale una
vuelta de tuerca más.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20101027/0b647c37/attachment.html>


Más información sobre la lista de distribución Python-es