Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Resumen
Ahora, mira el código que has escrito y descríbelo tú mismo:
``python from abc import ABC, abstractmethod
clase AuthMixin: is_authenticated = False
def login(self, taken_password):
if self.password == taken_password:
self.is_authenticated = True
print(f"{self.nombre_usuario} está autenticado")
si no
print("¡Contraseña incorrecta!")
def cerrar sesión(self):
self.is_authenticated = False
print(f"{self.username} se ha desconectado")
class AbstractAdmin(ABC): @métodoabstracto def login(): pass
@métodoabstracto
def cerrar sesión():
pass
@métodoabstracto
def crear_contenido():
pass
@métodoabstracto
def actualizar_contenido():
pass
@métodoabstracto
def borrar_contenido():
pass
clase User(AuthMixin): role = "Usuario"
def __init__(self, nombre_usuario, contraseña):
self.nombreusuario = nombreusuario
self.contraseña = contraseña
@propiedad
def contraseña(self):
return self._contraseña
@contraseña.setter
def contraseña(self, nueva_contraseña):
if isinstance(nueva_contraseña, str):
if len(nueva_contraseña) >= 8:
self._contraseña = nueva_contraseña
si no:
print("La longitud de la contraseña debe ser >= 8.")
si no:
print("La contraseña debe ser una cadena.")
def __repr__(self):
return f"{self.role}: {self.username}"
def __eq__(self, otro):
if isinstance(otro, Usuario):
return nombreusuario.self == nombreusuario.other
if isinstance(otro, str):
return self.nombreusuario == otro
return False
class Admin(Usuario, AbstractAdmin): role = "Admin"
def crear_contenido(self):
print(f"{self.username} crea el contenido")
def actualizar_contenido(self):
print(f"{nombre_usuario} actualiza el contenido")
def borrar_contenido(self):
print(f"{nombre_usuario} borra el contenido")
Puedes entender este código con 85 líneas. **¡Felicitaciones! ¡Has dominado la Programación Orientada a Objetos en Python y puedes utilizar la funcionalidad necesaria!
1. Recuerde todos los conceptos de programación orientada a objetos:
2. ¿Qué son los métodos mágicos?
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 5. Capítulo 6