Soy una persona de Java que acaba de empezar a aprender Python. Tome este ejemplo:Herencia de atributos en python usando __init__
class Person():
def __init__(self, name, phone):
self.name = name
self.phone = phone
class Teenager(Person):
def __init__(self, name, phone, website):
self.name=name
self.phone=phone
self.website=website
Estoy seguro de que hay una gran cantidad de código redundante (sé en Java, hay una gran cantidad de despidos para el bit de código anterior).
¿Qué partes son redundantes con respecto a qué atributos ya se heredan de la clase padre?
Tenga en cuenta que si está utilizando Python 2.x, debe enumerar explícitamente 'object' como una clase base de' Person' para poder usar 'super()'. De lo contrario, debe usar la forma 'Persona .__ init__'. – chepner
@chepner ¿puede proporcionar una referencia para eso? No puedo encontrar uno – murgatroid99
http://docs.python.org/library/functions.html#super indica que super() solo se admite en las clases de estilo nuevo, que en Python 2.x son las que heredan de 'object' – chepner