Cómo aplicar el principio DRY en Python

| Última modificación: 24 de mayo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El principio DRY (Don’t Repeat Yourself) es uno de los pilares fundamentales de la programación, y aplicarlo en Python, un lenguaje orientado a objetos, es esencial para escribir un código limpio, eficiente y fácil de mantener. En este artículo, explorarás qué es el principio DRY en Python, cómo se relaciona con la programación orientada a objetos y cómo ponerlo en práctica.

¿Qué es el principio DRY en Python?

El principio DRY, como su nombre sugiere, consiste en evitar la repetición de código. En lugar de duplicar el mismo código en diferentes partes de un programa, se busca encapsular ese código en una sola ubicación y reutilizarlo cuando sea necesario. Esto no solo hace que el código sea más limpio y legible, sino que también facilita su mantenimiento, ya que cualquier cambio que deba hacerse solo necesita hacerse en un solo lugar.

En Python, un lenguaje orientado a objetos, el principio DRY se aplica de manera particularmente efectiva utilizando clases y funciones.

Programación orientada a objetos y su relación con el principio DRY en Python

Python es conocido por ser un lenguaje de programación orientado a objetos. Esto significa que, en Python, todo es un objeto. Los objetos en Python son instancias de clases, y las clases son como plantillas que definen la estructura y el comportamiento de esos objetos.

Crear una clase en Python

Para aplicar el principio DRY en Python, es crucial comprender cómo crear una clase. Aquí hay un ejemplo básico de cómo se define una clase en Python:

class MiClase: 
        def __init__(self, parametro1, parametro2): 
              self.parametro1 = parametro1 
              self.parametro2 = parametro2

En este ejemplo, MiClase es una clase que tiene dos atributos, parametro1 y parametro2. El método __init__ es el constructor de la clase y se utiliza para inicializar los atributos cuando se crea una instancia de la clase.

Sintaxis básica de una clase en Python

Una vez que se ha creado una clase, es posible definir métodos y atributos adicionales para esa clase. Los métodos son funciones que pertenecen a la clase y pueden realizar operaciones específicas en los atributos de la misma. Los atributos son variables que almacenan datos relacionados con la clase.

Aplicando el principio DRY en Python con métodos y herencia

Una de las formas más efectivas de aplicar el principio DRY en Python es utilizando métodos y herencia. Los métodos permiten encapsular código que se puede reutilizar en diferentes partes de un programa, mientras que la herencia permite compartir atributos y métodos entre clases relacionadas.

Definir una clase padre

Supongamos que estás desarrollando un programa que maneja diferentes tipos de vehículos, como automóviles, motocicletas y bicicletas. En lugar de crear una clase separada para cada tipo de vehículo y duplicar código, se puede definir una clase padre llamada Vehiculo que contenga los atributos y métodos comunes a todos los vehículos.

class Vehiculo: 
        def __init__(self, marca, modelo): 
              self.marca = marca 
              self.modelo = modelo 
        
        def conducir(self): 
              print(f"Conduciendo un {self.marca} {self.modelo}") 

        def detenerse(self): 
              print(f"{self.marca} {self.modelo} se ha detenido")

Herencia en Python

Una vez se ha definido la clase padre Vehiculo, es posible crear clases hijas que hereden sus atributos y métodos. Por ejemplo, aquí se crea una clase Automovil que hereda de Vehiculo:

class Automovil(Vehiculo): 
       def __init__(self, marca, modelo, puertas): 
             super().__init__(marca, modelo) 
             self.puertas = puertas 

       def abrir_puertas(self): 
             print(f"Abriendo las {self.puertas} puertas del {self.marca} {self.modelo}")

Con la herencia, el código relacionado con la marca y el modelo de un vehículo se encuentra en la clase padre Vehiculo, y las clases hijas como Automovil solo necesitan definir los atributos y métodos específicos para ellos.

Aplicando el principio DRY en un ejemplo

Ahora que se ha creado la estructura de clases, es posible aplicar el principio DRY en un ejemplo concreto. Supongamos que necesitas crear una instancia de un automóvil y llamar a sus métodos:

# Crear una instancia de un automóvil 
mi_automovil = Automovil("Toyota", "Camry", 4) 

# Llamar a los métodos 
mi_automovil.conducir() 
mi_automovil.abrir_puertas() 
mi_automovil.detenerse()

En este ejemplo, se ha creado una instancia de la clase Automovil y se han llamado a los métodos conducir, abrir_puertas y detenerse. Cada uno de estos métodos está definido en la jerarquía de clases, evitando la repetición de código relacionado con la marca y el modelo del vehículo.

Si estás interesado en aprender más sobre el principio DRY en Python y la programación web en general, considera unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. Este bootcamp te brindará las habilidades y el conocimiento necesarios para ingresar al sector de la tecnología de la información en poco tiempo. Al completar el bootcamp, te abrirás a un mundo de oportunidades en una industria con una alta demanda de profesionales, salarios altos y una estabilidad laboral que otros sectores no pueden ofrecer. ¡No pierdas esta oportunidad de cambiar tu vida y entra ya mismo!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado