domingo, 8 de junio de 2025

🧪 Python Nivel 2 – Parte 2: Métodos especiales, encapsulamiento y representación

 🎯 ¿Qué aprenderás hoy?

✅ Usar métodos especiales como __str__ y __repr__
✅ Aplicar encapsulamiento con atributos privados
✅ Definir getters y setters
✅ Hacer que tus objetos sean más intuitivos y seguros


🔧 1. Método especial __str__

Sirve para representar el objeto cuando lo imprimes.


class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad def __str__(self): return f"{self.nombre} ({self.edad} años)" persona = Persona("Carlos", 30) print(persona) # Carlos (30 años)

🔧 2. Encapsulamiento: atributos privados

Se indica con doble guión bajo __ al comienzo del atributo.
Esto protege datos que no deberían modificarse directamente.


class CuentaBancaria: def __init__(self, titular, saldo): self.__titular = titular self.__saldo = saldo def mostrar_info(self): print(f"Titular: {self.__titular}, Saldo: {self.__saldo}")

⚠️ Si intentas acceder directamente a cuenta.__saldo, obtendrás error.


🔧 3. Getters y Setters

Métodos que permiten acceder o modificar atributos privados de forma controlada.


class CuentaBancaria: def __init__(self, titular, saldo): self.__titular = titular self.__saldo = saldo def get_saldo(self): return self.__saldo def depositar(self, monto): if monto > 0: self.__saldo += monto

cuenta = CuentaBancaria("Ana", 1000) print(cuenta.get_saldo()) # 1000 cuenta.depositar(500) print(cuenta.get_saldo()) # 1500

💡 BONUS: Método __repr__

Se usa más para depuración o representar el objeto en consola/interactivo.


def __repr__(self): return f"Persona(nombre={self.nombre}, edad={self.edad})"

🧠 ¿Qué ganaste hoy?

✔️ Más control sobre la visibilidad de tus atributos
✔️ Seguridad al modificar datos sensibles
✔️ Representaciones legibles de tus objetos
✔️ Mejores prácticas POO


📂 Código completo en GitHub:
github.com/josecodetech

🎥 Video paso a paso en YouTube:
https://youtu.be/8lwoAQCer3Q

💬 ¿Ya usaste getters y setters? ¿Conocías __str__? ¡Cuéntamelo!

No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.