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
course content

Contenido del Curso

Programación Orientada a Objetos en Python a Fondo

Programación Orientada a Objetos en Python a Fondo

1. Conceptos de POO
2. Herencia
3. Encapsulamiento
4. Polimorfismo y Abstracción
5. Métodos Mágicos

book
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?

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

course content

Contenido del Curso

Programación Orientada a Objetos en Python a Fondo

Programación Orientada a Objetos en Python a Fondo

1. Conceptos de POO
2. Herencia
3. Encapsulamiento
4. Polimorfismo y Abstracción
5. Métodos Mágicos

book
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?

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