1) Clase vs objeto: plano y instancia
La clase describe el modelo; el objeto representa un caso concreto de ese modelo.
`class Cuenta:` define estructura y reglas comunes. `cuenta_ana = Cuenta(...)` crea una instancia con estado propio.
Dos objetos de la misma clase comparten comportamiento, pero no necesariamente valores de atributos.
Piensa primero qué invariantes debe respetar la entidad antes de escribir métodos.
class Cuenta:
def __init__(self, titular: str, saldo: float = 0.0) -> None:
self.titular = titular
self.saldo = saldo
cuenta_ana = Cuenta('Ana', 100.0)
cuenta_luis = Cuenta('Luis', 50.0)
print(cuenta_ana.saldo, cuenta_luis.saldo)