Mostrando entradas con la etiqueta str. Mostrar todas las entradas
Mostrando entradas con la etiqueta str. 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 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!

s谩bado, 16 de febrero de 2019

56 Python. Condicional if

En este ejemplo con un numero dado que guardamos en la variable num, se comprueba en que intervalo entra y se muestra el resultado por pantalla, no hay que olvidar transformar la variable numerica a cadena usando str.

num=9

if num<10:   

    print(str(num)+' menor que 10')

elif num==10:   

    print(str(num)+' igual a 10')

else:   

    print(str(num)+' mayor que 10')