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?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Pregunte me preguntas sobre este tema
Resumir este capítulo
Mostrar ejemplos del mundo real
Awesome!
Completion rate improved to 2.78
Resumen
Desliza para mostrar el menú
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?
¡Gracias por tus comentarios!