Articles of herencia

sobrescribir correctamente __new__ en python3

Así que estoy intentando anular __new__ y dejar que exista como una fábrica para crear instancias derivadas. Después de leer un poco sobre SO, tengo la impresión de que debería llamar a __new__ en la instancia derivada también. BaseThing class BaseThing: def __init(self, name, **kwargs): self.name = name # methods to be derived ThingFactory class […]

Cuestión de importación de Python

Así que aparentemente no sé cómo importar cosas correctamente en un progtwig de Python. Estoy empezando con el lenguaje, y es muy diferente del Java al que estoy acostumbrado. De todos modos, el problema principal es que hay algo malo en la forma en que estoy importando paquetes / módulos / clases y parece que […]

Cooperativa problema de herencia múltiple

Esta es una extensión de esta pregunta y plantea un problema, con el que espero que ustedes, mis compañeros de StackOverflowers, puedan ayudarme. De la pregunta referenciada, considere el ejemplo de código final: class A(object): def __init__(self): print “entering A” print “leaving A” class B(object): def __init__(self): print “entering B” super(B, self).__init__() print “leaving B” […]

Funciones heredables de Python

¿Hay alguna forma en Python para cualquiera de las funciones “ tipo ” o para que las funciones hereden las suites de prueba? Estoy trabajando para evaluar varias implementaciones diferentes de diferentes funciones con varios criterios (por ejemplo, puedo evaluar diferentes funciones de clasificación según la velocidad para el tamaño de la matriz y los […]

Especificación de sugerencias de tipo de métodos reemplazados en la colección genérica

He definido una clase base abstracta BaseRepository que actúa como una colección de elementos con el supertipo Foo especificado. Los métodos de BaseRepository conveniencia en BaseRepository están anotados / BaseRepository para trabajar con objetos de tipo Foo . Aquí hay un ejemplo mínimo: from abc import ABCMeta, abstractmethod NoReturn = None class Foo(object): pass # […]

Herencia Python en sqlalchemy

Así que soy nuevo en este python y sqlalchemy. Necesito ayuda con la herencia o tal vez una combinación (pero más bien la herencia). Tengo un código de psudo pero realmente no he progresado para llegar a ninguna parte: Base = declarative_base() class ModelBase(Base): “””Base model that only defines last_updated””” __tablename__ = ‘doesnotexistandtheclassshouldnotbeinstantiated’ #all tables […]

Como realizar herencia parcial.

Tengo dos clases por ejemplo: class Parent(object): def hello(self): print ‘Hello world’ def goodbye(self): print ‘Goodbye world’ class Child(Parent): pass Class Child debe heredar solo el método hello () de Parent y no debe haber ninguna mención de Goodbye (). Es posible ? ps si, leo esto NOTA importante: y solo puedo modificar la clase […]

Recuperando objetos de modelo heredados en django

Tengo una aplicación django con el siguiente modelo: El objeto A es un objeto simple que se extiende desde el modelo con algunos campos, y digamos, uno en particular es un campo de caracteres llamado “NOMBRE” y un campo de números enteros llamado “ORDEN” . A es abstracto, lo que significa que no hay objetos […]

Tipo de columna introspectiva SQLAlchemy con herencia

Teniendo en cuenta este código (y utilizando SQLAlchemy 0.7.7): class Document(Base): __tablename__ = ‘document’ __table_args__ = { ‘schema’: ‘app’ } id = Column(types.Integer, primary_key=True) nom = Column(types.Unicode(256), nullable=False) date = Column(types.Date()) type_document = Column(types.Enum(‘arrete’, ‘photographie’, name=’TYPES_DOCUMENT_ENUM’)) __mapper_args__ = {‘polymorphic_on’: type_document} class Arrete(Document): __tablename__ = ‘arrete’ __table_args__ = { ‘schema’: ‘app’ } __mapper_args__ = {‘polymorphic_identity’: ‘arrete’} […]

python – acceso a los atributos de la superclase

Hola, quiero lograr lo siguiente en Python, sin embargo, no puedo averiguar qué reemplazar la línea super.a = b con: class Super: def __init__(self): self.a = 1 class Sub(Super): def method(self, b): super.a = b