MEJOR SITIO PARA DESARROLLADORES WEB

Python Tutorial

Python HOGAR Python Intro Python Empezar Python Sintaxis Python Comentarios Python Variables Python Tipos de datos Python Números Python Fundición Python Instrumentos de cuerda Python Booleanos Python Operadores Python Liza Python Tuplas Python Conjuntos Python Diccionarios Python If...Else Python While Bucles Python For Bucles Python Funciones Python Lambda Python Matrices Python Clases/Objetos Python Herencia Python Iteradores Python Polimorfismo Python Alcance Python Módulos Python Fechas Python Math Python JSON Python RegEx Python PIP Python Try...Except Python Entrada del usuario Python Formato de cadena

Manejo de archivos

Python Manejo de archivos Python Leer archivos Python Escribir/Crear Archivos Python Borrar archivos

Python Módulos

NumPy Tutorial Pandas Tutorial SciPy Tutorial Django Tutorial

Python Matplotlib

Matplotlib Intro Matplotlib Empezar Matplotlib Pyplot Matplotlib Graficado Matplotlib Marcadores Matplotlib Línea Matplotlib Etiquetas Matplotlib Red Matplotlib Subtramas Matplotlib Dispersión Matplotlib Barras Matplotlib Histogramas Matplotlib Gráficos circulares

Aprendizaje automático

Empezando Modo Mediana Media Desviación Estándar Percentil Distribución de datos Distribución normal de datos Gráfico de dispersión Regresión lineal Regresión polinómica Regresión múltiple Escala Entrenar/Prueba Árbol de decisión Matriz de confusión Agrupación jerárquica Regresión logística Búsqueda de cuadrícula Datos categóricos K-medias Agregación de arranque Validación cruzada AUC - ROC Curva K-vecinos más cercanos

Python MySQL

MySQL Empezar MySQL Crear base de datos MySQL Crear mesa MySQL Insertar MySQL Seleccionar MySQL Dónde MySQL Ordenar por MySQL Borrar MySQL Mesa plegable MySQL Actualizar MySQL Límite MySQL Unirse

Python MongoDB

MongoDB Empezar MongoDB Crear base de datos MongoDB Crear colección MongoDB Insertar MongoDB Encontrar MongoDB Consulta MongoDB Clasificar MongoDB Borrar MongoDB Colección de gotas MongoDB Actualizar MongoDB Límite

Python Referencia

Python Descripción general Python Funciones integradas Python Métodos de cadena Python Métodos de lista Python Métodos de diccionario Python Métodos de tupla Python Establecer métodos Python Métodos de archivo Python Palabras clave Python Excepciones Python Glosario

Referencia del módulo

Módulo aleatorio Módulo de Solicitudes Módulo de Estadísticas Módulo de Matemáticas cMath Módulo

Python Cómo

Eliminar lista duplicada Invertir una cadena Suma dos números

Python Ejemplos

Python Ejemplos Python Compilador Python Ejercicios Python Prueba Python Campo de entrenamiento Python Certificado

Python. Lecciones para principiantes

Ua En

Python Herencia


Herencia de Python

La herencia nos permite definir una clase que hereda todos los métodos y propiedades de otra clase.

Clase principal es la clase de la que se hereda, también llamada clase base.

Clase hija es la clase que hereda de otra clase, también llamada clase derivada.


Crear una clase para padres

Cualquier clase puede ser una clase principal, por lo que la sintaxis es la misma que la de crear cualquier otra clase:

Ejemplo

Cree una clase llamada propiedades Person, con firstname y lastname y un método printname:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()
Inténtalo tú mismo »

Crear una clase secundaria

Para crear una clase que herede la funcionalidad de otra clase, envíe la clase principal como parámetro al crear la clase secundaria:

Ejemplo

Cree una clase llamada Student, que heredará las propiedades y métodos de la clase Person:

class Student(Person):
  pass

Nota: Utilice la palabra clave pass cuando no desee agregar ninguna otra propiedad o método a la clase.

Ahora la clase Student tiene las mismas propiedades y métodos que la clase Person.

Ejemplo

Utilice la clase Student para crear un objeto y luego ejecute el método printname:

x = Student("Mike", "Olsen")
x.printname()
Inténtalo tú mismo »

Agregue la función __init__()

Hasta ahora, hemos creado una clase secundaria que hereda las propiedades y métodos de su clase principal.

Queremos agregar la función __init__() a la clase secundaria (en lugar de la palabra clave pass).

Nota: La función __init__() se llama automáticamente cada vez que se utiliza la clase para crear un nuevo objeto.

Ejemplo

Agregue la función __init__() a la clase Student:

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

Cuando agrega la función __init__(), la clase secundaria ya no heredará la función __init__() del padre.

Nota: La función __init__() del niño anula la herencia del padre __init__() función.

Para mantener la herencia de la función __init__() del padre, agregue una llamada a la función __init__() del padre:

Ejemplo

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)
Inténtalo tú mismo »

Ahora hemos agregado con éxito la función __init__(), hemos mantenido la herencia de la clase principal y estamos listos para agregar funcionalidad en la función __init__().


Utilice la función super()

Python también tiene una función super() que hará que la clase hija herede todos los métodos y propiedades de su clase padre:

Ejemplo

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
Inténtalo tú mismo »

Al utilizar la función super(), no es necesario utilizar el nombre del elemento principal, este heredará automáticamente los métodos y propiedades de su elemento principal.


Agregar propiedades

Ejemplo

Agregue una propiedad llamada graduationyear a la clase Student:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019
Inténtalo tú mismo »

En el siguiente ejemplo, el año 2019 debe ser una variable y pasarse a la clase Student al crear estudiante objetos. Para hacerlo, agregue otro parámetro en la función __init__():

Ejemplo

Agregue un parámetro year y pase el año correcto al crear objetos:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)
Inténtalo tú mismo »

Agregar métodos

Ejemplo

Agregue un método llamado welcome a la clase Student:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)
Inténtalo tú mismo »

Si agrega un método en la clase secundaria con el mismo nombre que una función en la clase principal, se anulará la herencia del método principal.


Ponte a prueba con ejercicios

Ejercicio:

¿Cuál es la sintaxis correcta para crear una clase llamada Estudiante que heredará propiedades y métodos de una clase llamada Persona?

class :