Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Resumen | Métodos Mágicos
Programación Orientada a Objetos en Python a Fondo

bookResumen

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?

question mark

Recuerde todos los conceptos de programación orientada a objetos:

Select the correct answer

question mark

¿Qué son los métodos mágicos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Pregunte me preguntas sobre este tema

Resumir este capítulo

Mostrar ejemplos del mundo real

Awesome!

Completion rate improved to 2.78

bookResumen

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?

question mark

Recuerde todos los conceptos de programación orientada a objetos:

Select the correct answer

question mark

¿Qué son los métodos mágicos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6
some-alt