Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Programación orientada a datos con Python, Unidad 8 — Modelado de datos con clases, 8.1 — Clases como modelos de datos ·

Métodos asociados a datos

Métodos asociados a datos: Clases como modelos de datos

Introducción

En la programación orientada a datos con Python, las clases son una herramienta poderosa para modelar estructuras complejas y trabajar con datos en un contexto más estructurado. Este artículo explora cómo definir métodos asociados a datos dentro de clases, lo cual es fundamental para organizar y manipular información de manera eficiente.

Explicación principal

Las clases permiten encapsular datos (atributos) junto con funciones (métodos) que operan sobre esos datos. Cuando se define un método en una clase, estos métodos pueden acceder y modificar los atributos de la misma clase, lo que facilita el manejo de datos complejos.

Ejemplo: Clase Persona

Consideremos una clase Persona que modela información básica sobre una persona:

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad
    
    def presentarse(self):
        print(f"Me llamo {self.nombre} y tengo {self.edad} años.")
    
    def cumpleaños(self):
        self.edad += 1

En este ejemplo:

  • __init__ es un método especial que se ejecuta automáticamente al crear una nueva instancia de la clase.
  • presentarse() es un método público que permite presentarse a sí mismo con su nombre y edad.
  • cumpleaños() incrementa la edad del objeto.

Ejemplo: Clase Empleado

A continuación, definamos una clase más compleja:

class Empleado:
    def __init__(self, nombre, cargo, salario):
        self.nombre = nombre
        self.cargo = cargo
        self.salario = salario
    
    def aumentar_salario(self, porcentaje):
        self.salario += (self.salario * porcentaje / 100)
    
    def asignar_cargo(self, nuevo_cargo):
        self.cargo = nuevo_cargo

En este caso:

  • asignar_cargo permite cambiar el cargo del empleado.
  • aumentar_salario ajusta la remuneración según un porcentaje.

Errores típicos / trampas

  1. Acceso a atributos no definidos:

No se debe acceder a atributos que no existen dentro de los métodos. Esto puede llevar a errores AttributeError.

  1. Modificación inaccesible del estado interno:

Asegúrate de que todos los atributos modificables sean accesibles desde los métodos. Si un atributo debe ser privado, usa _nombre (con guion bajo).

  1. Condiciones no verificadas:

No olvides verificar las condiciones necesarias antes de ejecutar ciertas acciones en los métodos.

Checklist accionable

  1. Encapsula todos los datos relevantes dentro de la clase.
  2. Define métodos que interactúen con estos datos.
  3. Verifica que los atributos sean accesibles y modificables según sea necesario.
  4. Evita modificar atributos no definidos en métodos.
  5. Documenta claramente el propósito de cada método para facilitar su uso.

Cierre

La programación orientada a datos con Python es una estrategia efectiva para organizar y manipular datos complejos. A través del modelado de clases, podemos encapsular toda la lógica relacionada con ciertos tipos de datos en una sola entidad, lo cual facilita el mantenimiento y escalabilidad del código.

Siguientes pasos

  • Aprende más sobre NumPy para manejar arrays multidimensionales.
  • Explora Pandas para trabajar con conjuntos de datos tabulares.
  • Conoce la base del Machine Learning para aplicar tus habilidades en ciencia de datos.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).