Articles of herencia de

Clase Numpy Matrix: atributos de constructor predeterminados para la clase heredada

Quiero implementar mi propia clase de matriz que hereda de la clase de matriz de numpy. el constructor de matriz de numpy requiere un atributo, algo como (“1 2; 3 4′”) . En contraste, mi constructor no debería requerir atributos y debería establecer un atributo predeterminado para el superconstructor. Eso fue lo que hice: import […]

¿Cómo subclase scipy.stats.norm?

Me gustaría scipy.stats.norm subclase de scipy.stats.norm para poder tener instancias de distribuciones congeladas (es decir, con medios / variaciones específicas) con funcionalidad adicional. Sin embargo, no puedo pasar el primer paso para construir una instancia. Edición : aquí hay una transcripción de una sesión interactiva que demuestra mi problema (no hay nada bajo mis mangas) […]

Al llamar a un método anulado, superclase y método anulado a las llamadas

Este código lanza una excepción, AttributeError, “wtf!” , porque A.foo() está llamando a B.foo1() , ¿no debería llamar a A.foo1() ? ¿Cómo puedo obligarlo a llamar a A.foo1() (y cualquier método llamado dentro de A.foo() debería llamar a A.* ) class A(object): def foo(self): print self.foo1() def foo1(self): return “foo” class B(A): def foo1(self): raise […]

¿Cuál es la diferencia entre super () y el nombre de clase principal?

¿Hay alguna diferencia entre usar super() y usar el nombre de la clase padre directamente? Por ejemplo: class Parent: def __init__(self): print(“In parent”) self.__a=10 class Child(Parent): def __init__(self): super().__init__() # using super() Parent.__init__(self) # using Parent class name c=Child() ¿Hay una diferencia interna entre super().__init__() y Parent.__init__(self) ?

Python super (Class, self) .method vs super (Parent, self) .method

Esta pregunta se deriva de la siguiente pregunta , digamos que la class B extiende la class A class A(object): def do_work(self): print 123 class B(A): def do_work(self): super(B,self).do_work() # versus the next statement super(A,self).do_work() # what’s the difference?

¿Cómo anulo las funciones de una clase padre en python?

Tengo un método privado def __pickSide(self): en una clase principal que me gustaría anular en la clase secundaria. Sin embargo, la clase secundaria todavía llama a la def __pickSide(self): heredada def __pickSide(self): ¿Cómo puedo anular la función? El nombre de la función de la clase secundaria es exactamente el mismo que el nombre de la […]

Clases de “amigo” en python

¿Hay alguna forma de hacer que ciertas variables en las clases sean “privadas” (o lo que sea self.__var realmente es) pero sea accesible a otra clase, como amigos en c ++, excepto en python? No quiero que las variables en ninguna de las clases se ensucien. Tampoco quiero copiar todo el código y convertirlo para […]

Usando la herencia en Python

esta es mi tarea, la vi publicada en el sitio web antes, pero parece que no se resolvió y recibí un mensaje de error diferente al de una persona que hacía esa pregunta antes. La primera parte del problema es definir la subclase Worker que se hereda de Employee e incluye un atributo que se […]

¿Convertir un objeto BaseClass en un objeto SubClass idiomáticamente?

Hay una clase base Base y una subclase Special . class Base(object): def __init__(self, name): self.name = name def greet(self): return ‘Hello %s’ % self.name class Special(Base): def __init__(self, name): super(Special, self).__init__(name) def rhyme(self): return ‘Hi %s! How are you? Fine, thanks. What about you?’ % self.name ¿Cómo puedo convertir una instancia de Base en […]

súper confuso Python herencia múltiple super ()

Estaba jugando con la herencia múltiple en Python y me encuentro con una situación que no puedo entender cómo sucedió. Aquí está el diseño de la herencia: AF / \ | BC | \ | / \ | / D El diamante ABCD que todo el mundo conoce. Además de una clase extra “F”, la […]