Mostrando entradas con la etiqueta init. Mostrar todas las entradas
Mostrando entradas con la etiqueta init. Mostrar todas las entradas

jueves, 12 de junio de 2025

馃И Python Nivel 2 – Parte 4: Constructores, Destructores y M茅todos Especiales

 

馃幆 ¿Qu茅 aprender谩s hoy?

✅ Qu茅 es y c贸mo se usa el constructor __init__
✅ C贸mo implementar un destructor con __del__
✅ M茅todos especiales como __str__, __len__, __eq__, __repr__
✅ C贸mo hacer que tus objetos se comporten como tipos nativos


馃敡 1. Constructor __init__()

El constructor se ejecuta autom谩ticamente cuando creas un nuevo objeto. Se usa para inicializar atributos.


class Usuario: def __init__(self, nombre, email): self.nombre = nombre self.email = email usuario1 = Usuario("Laura", "laura@email.com") print(usuario1.nombre)

馃敡 2. Destructor __del__()

El destructor se ejecuta cuando el objeto se elimina. Puede usarse para liberar recursos (memoria, archivos abiertos, conexiones).


class Conexion: def __init__(self): print("馃攲 Conexi贸n establecida.") def __del__(self): print("❌ Conexi贸n cerrada.") c = Conexion() del c # Esto fuerza la destrucci贸n

馃敡 3. M茅todo __str__() – Representaci贸n legible

Define c贸mo se muestra el objeto cuando se imprime.


class Producto: def __init__(self, nombre, precio): self.nombre = nombre self.precio = precio def __str__(self): return f"{self.nombre} - ${self.precio}" p = Producto("Auriculares", 45.99) print(p) # Auriculares - $45.99

馃敡 4. Otros m茅todos especiales 煤tiles

M茅todoDescripci贸n
__len__Devuelve la longitud
__eq__Define c贸mo comparar dos objetos (==)
__repr__Representaci贸n t茅cnica (depuraci贸n)
__add__Define c贸mo sumar dos objetos

✅ Ejemplo de comparaci贸n con __eq__


class Libro: def __init__(self, titulo): self.titulo = titulo def __eq__(self, otro): return self.titulo == otro.titulo l1 = Libro("Python B谩sico") l2 = Libro("Python B谩sico") print(l1 == l2) # True

馃殌 ¿Qu茅 aprendiste hoy?

✔️ C贸mo inicializar y destruir objetos
✔️ C贸mo hacer que tus clases se comporten de forma m谩s intuitiva
✔️ C贸mo personalizar funciones internas como print(), ==, len()
✔️ C贸mo mejorar la depuraci贸n con __repr__


馃搨 C贸digo completo en GitHub:
github.com/josecodetech

馃帴 Video paso a paso en YouTube:
https://www.youtube.com/watch?v=F2LKpvepD_c

馃挰 ¿Qu茅 m茅todo especial te parece m谩s 煤til? ¿Has usado __init__ sin saberlo?


domingo, 8 de junio de 2025

馃И Python Nivel 2 – Parte 1: Introducci贸n a la Programaci贸n Orientada a Objetos

 Despu茅s de dominar los fundamentos de Python, es hora de dar el siguiente paso:

Organizar tu c贸digo como un profesional con clases y objetos.


馃 ¿Qu茅 es la Programaci贸n Orientada a Objetos?

Es un paradigma que permite estructurar el c贸digo imitando el mundo real:
馃摝 Clases → plantillas
馃 Objetos → instancias 煤nicas
馃彿️ Atributos → caracter铆sticas
⚙️ M茅todos → acciones


馃敡 Conceptos que aprender谩s hoy:

  • Qu茅 es una clase y c贸mo se define

  • C贸mo crear objetos a partir de clases

  • C贸mo funcionan los atributos y m茅todos

  • Qu茅 es el constructor __init__

  • Qu茅 significa self en Python


Ejemplo 1: Crear una clase b谩sica


class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad def saludar(self): print(f"Hola, me llamo {self.nombre} y tengo {self.edad} a帽os.") # Crear y usar un objeto persona1 = Persona("Luc铆a", 29) persona1.saludar()

Ejemplo 2: Modificar atributos


persona1.nombre = "Laura" persona1.saludar()

馃 El objeto puede cambiar din谩micamente su informaci贸n.


Ejemplo 3: Crear m煤ltiples objetos


persona2 = Persona("Carlos", 35) persona3 = Persona("Ana", 42) persona2.saludar() persona3.saludar()

馃殌 ¿Por qu茅 usar POO?

✔️ Mantiene el c贸digo limpio y escalable
✔️ Agrupa informaci贸n y funciones en una sola entidad
✔️ Es la base de librer铆as, frameworks, APIs y juegos
✔️ Reutilizas estructuras sin reescribir todo


馃搶 Pr贸ximo paso:

En la Parte 2 aprender谩s:

  • C贸mo usar m茅todos especiales (__str__, __repr__)

  • C贸mo encapsular informaci贸n

  • C贸mo crear clases con l贸gica m谩s compleja


馃搨 C贸digo completo disponible en:
github.com/josecodetech

馃帴 Video en YouTube:
https://www.youtube.com/watch?v=YWQe0WrjovI

馃挰 ¿Te gustar铆a ver c贸mo aplicar clases para videojuegos, apps o bots? ¡D茅jamelo en los comentarios!