Buenas. Entiendo que lo que quieres es tener una clase base a la que inyectar métodos para tener distintas maneras de proveer una funcionalidad F.
Te haces un decorador para añadir esos metodos al código de la clase cuando se la instancie. Cada vez que instancies un B, Se crea un Decor que te da una subclase llamada Wrapper. Tienes unos objetos B en codigo que crean instancias de Wrapper. Asi que cuando yo haga un repr(), nunca veré un B. Por poder, se podrá, pero aun no veo el motivo para no hacerlo como ya han dicho en el hilo por simple composicion: un atributo B.provider = MySQLProvider() que has inicializado en B.__init__("mysql") y llamas a B.provider.F() O si queda bien el parentesco, haciendo una subclase: hay una class B_MySQL(B) que implementa el método F(). No tengo claro por que no gusta, pero la herencia múltiple está ahí. class B_MySQL(B, MySQLProviderMixin): pass Y unas dudas colaterales: * Por qué tanto setattr(objeto, "atributo", valor)? Si el nombre del atributo ya lo sabemos, para que usar la cadena si vale con objeto.atributo = valor * Que tiene de malo el concepto de clase Mixin, que solo existe para complementar a otra clase? Agur.
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/