Articles of constructor de

Evite especificar todos los argumentos en una subclase

Tengo una clase: class A(object): def __init__(self,a,b,c,d,e,f,g,………..,x,y,z) #do some init stuff Y tengo una subclase que necesita un argumento adicional (la última W ) class B(A): def __init__(self.a,b,c,d,e,f,g,………..,x,y,z,W) A.__init__(self,a,b,c,d,e,f,g,………..,x,y,z) self.__W=W Parece tonto escribir todo este código de la placa de la caldera, por ejemplo, pasar todos los argumentos del Ctor de B a la llamada […]

¿Cómo llamar al método __init__ de la clase base desde la clase secundaria?

Si tengo una clase de python como: class BaseClass(object): #code and the init function of the base class Y luego defino una clase infantil como: class ChildClass(BaseClass): #here I want to call the init function of the base class Si la función init de la clase base toma algunos argumentos que los estoy tomando como […]

Constructor de Python y valor predeterminado

De alguna manera, en la siguiente clase de Nodo, las variables wordList y wordList se comparten entre todas las instancias de Node. >>> class Node: … def __init__(self, wordList = [], adjacencyList = []): … self.wordList = wordList … self.adjacencyList = adjacencyList … >>> a = Node() >>> b = Node() >>> a.wordList.append(“hahaha”) >>> b.wordList […]

¿Crear una lista en Python, algo furtivo está pasando?

Disculpas si esto no tiene ningún sentido, soy muy nuevo en Python. Desde las pruebas en un intérprete, puedo ver que la list() y [] producen una lista vacía: >>> list() [] >>> [] [] Por lo que he aprendido hasta ahora, la única forma de crear un objeto es llamar a su constructor ( […]

Llamando a constructores de superclase en python con diferentes argumentos.

class A(): def __init__( self, x, y): self.x = x self.y = y class B(): def __init__( self, z=0): self.z = z class AB(A,B): def __init__( self, x, y, z=0): ? ¿Cómo puedo hacer que el constructor de AB llame a los constructores para A y B con los argumentos adecuados? He intentado class AB(A,B): […]

¿Por qué object .__ new__ funciona de manera diferente en estos tres casos

de la pregunta ¿Por qué, o más bien, cómo funciona el objeto .__ nuevo__ funciona de manera diferente en estos dos casos? El autor no estaba interesado en el por qué, sino en el cómo. Me gustaría mucho entender por qué, particularmente: ¿por qué no es el object.__init__ no se imprime ningún parámetro en lugar […]

¿Hay una manera de crear una instancia de una clase sin llamar a __init__?

¿Hay una manera de eludir al constructor __init__ de una clase en python? Ejemplo: class A(object): def __init__(self): print “FAILURE” def Print(self): print “YEHAA” Ahora me gustaría crear una instancia de A Podría verse así, sin embargo, esta syntax no es correcta. a = A a.Print() EDITAR: Un ejemplo aún más complejo: Supongamos que tengo […]

Copia constructor en python?

¿Hay un constructor de copia en python? Si no, ¿qué haría yo para lograr algo similar? La situación es que estoy usando una biblioteca y he extendido una de las clases allí con funcionalidad adicional y quiero poder convertir los objetos que obtengo de la biblioteca a instancias de mi propia clase.

Evitar constructores largos mientras se hereda sin ocultar constructor, argumentos opcionales o funcionalidad

Tengo un problema particular, pero haré el ejemplo más general. Tengo una clase principal con un parámetro de constructor obligatorio y algunos opcionales, cada uno con un valor predeterminado. Luego, heredé a Child de él y agrego un parámetro obligatorio, y heredé GrandChild de Child y agrego otro parámetro obligatorio al constructor. El resultado es […]

¿Constructores múltiples en python?

Posible duplicado: ¿Qué es una forma limpia y pythonica de tener varios constructores en Python? ¿No es posible definir múltiples constructores en Python, con diferentes firmas? Si no es así, ¿cuál es la forma general de evitarlo? Por ejemplo, digamos que querías definir una clase City Me gustaría poder decir someCity = City() o someCity […]