¿Como se crean clases abstractas con python?. Voy a explicar cual es la forma correcta de definir una clase abstracta y heredar de ella. El procedimiento general es: Definir una clase abstracta utilizando una metaclase. Definir la subclase de la clase abstracta (sin herencia). Registrar esta última clase como subclase de la clase abstracta. Tomemos como ejemplo el siguiente código: from abc import ABCMeta, abstractmethod class AbstractFoo: __metaclass__ = ABCMeta @abstractmethod def bar(self): pass @classmethod def __subclasshook__(cls, C): return NotImplemented class Foo(object): def bar(self): print "hola" AbstractFoo.register(Foo) Lo primero que hacemos es importar del módulo abc la...