Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Reto: Representación y Comparación de Usuarios
Hay muchos métodos mágicos en Python, no los hemos considerado todos, pero otros no se usan tan a menudo.
Volvamos a tu código. Tu clase User
no tiene representación, y no puedes imprimir la información del usuario usando la construcción print(user)
. Además, hay momentos en los que necesitas comprobar un nombre de usuario o id de usuario con la instancia de usuario (cuenta) que realizó acciones en tu aplicación.
Nota
- Los comentarios
El nuevo código está abajo
yEl nuevo código está arriba
te ayudarán a encontrar un nuevo código para editar.- Además, es necesario añadir atributos de clase al código existente.
Tarea
- Crea un atributo de clase
role
con el valor"User"
dentro de la claseUser
. - Crear un atributo de clase
role
con el valor"Admin"
dentro de la claseAdmin
. - Define el método representation magic dentro de la clase
User
. Este método debe devolver la cadena"{role}: {username}"
.
Por ejemplo ("Admin: greatest.admin"
).
- Define el método representation magic dentro de la clase
- Define el método mágico de comparación para la operación
==
. Este método debe comparar
- si el dato tomado es una instancia
User
- comparar el nombre de usuario de la instancia y el nombre de usuario de la instancia tomada. - si el dato tomado es una cadena - compara el nombre de usuario de la instancia y la cadena tomada.
- si los datos tomados tienen otro tipo de datos - el método debe devolver
False
.
- Define el método mágico de comparación para la operación
¡Gracias por tus comentarios!
Reto: Representación y Comparación de Usuarios
Hay muchos métodos mágicos en Python, no los hemos considerado todos, pero otros no se usan tan a menudo.
Volvamos a tu código. Tu clase User
no tiene representación, y no puedes imprimir la información del usuario usando la construcción print(user)
. Además, hay momentos en los que necesitas comprobar un nombre de usuario o id de usuario con la instancia de usuario (cuenta) que realizó acciones en tu aplicación.
Nota
- Los comentarios
El nuevo código está abajo
yEl nuevo código está arriba
te ayudarán a encontrar un nuevo código para editar.- Además, es necesario añadir atributos de clase al código existente.
Tarea
- Crea un atributo de clase
role
con el valor"User"
dentro de la claseUser
. - Crear un atributo de clase
role
con el valor"Admin"
dentro de la claseAdmin
. - Define el método representation magic dentro de la clase
User
. Este método debe devolver la cadena"{role}: {username}"
.
Por ejemplo ("Admin: greatest.admin"
).
- Define el método representation magic dentro de la clase
- Define el método mágico de comparación para la operación
==
. Este método debe comparar
- si el dato tomado es una instancia
User
- comparar el nombre de usuario de la instancia y el nombre de usuario de la instancia tomada. - si el dato tomado es una cadena - compara el nombre de usuario de la instancia y la cadena tomada.
- si los datos tomados tienen otro tipo de datos - el método debe devolver
False
.
- Define el método mágico de comparación para la operación
¡Gracias por tus comentarios!
Reto: Representación y Comparación de Usuarios
Hay muchos métodos mágicos en Python, no los hemos considerado todos, pero otros no se usan tan a menudo.
Volvamos a tu código. Tu clase User
no tiene representación, y no puedes imprimir la información del usuario usando la construcción print(user)
. Además, hay momentos en los que necesitas comprobar un nombre de usuario o id de usuario con la instancia de usuario (cuenta) que realizó acciones en tu aplicación.
Nota
- Los comentarios
El nuevo código está abajo
yEl nuevo código está arriba
te ayudarán a encontrar un nuevo código para editar.- Además, es necesario añadir atributos de clase al código existente.
Tarea
- Crea un atributo de clase
role
con el valor"User"
dentro de la claseUser
. - Crear un atributo de clase
role
con el valor"Admin"
dentro de la claseAdmin
. - Define el método representation magic dentro de la clase
User
. Este método debe devolver la cadena"{role}: {username}"
.
Por ejemplo ("Admin: greatest.admin"
).
- Define el método representation magic dentro de la clase
- Define el método mágico de comparación para la operación
==
. Este método debe comparar
- si el dato tomado es una instancia
User
- comparar el nombre de usuario de la instancia y el nombre de usuario de la instancia tomada. - si el dato tomado es una cadena - compara el nombre de usuario de la instancia y la cadena tomada.
- si los datos tomados tienen otro tipo de datos - el método debe devolver
False
.
- Define el método mágico de comparación para la operación
¡Gracias por tus comentarios!
Hay muchos métodos mágicos en Python, no los hemos considerado todos, pero otros no se usan tan a menudo.
Volvamos a tu código. Tu clase User
no tiene representación, y no puedes imprimir la información del usuario usando la construcción print(user)
. Además, hay momentos en los que necesitas comprobar un nombre de usuario o id de usuario con la instancia de usuario (cuenta) que realizó acciones en tu aplicación.
Nota
- Los comentarios
El nuevo código está abajo
yEl nuevo código está arriba
te ayudarán a encontrar un nuevo código para editar.- Además, es necesario añadir atributos de clase al código existente.
Tarea
- Crea un atributo de clase
role
con el valor"User"
dentro de la claseUser
. - Crear un atributo de clase
role
con el valor"Admin"
dentro de la claseAdmin
. - Define el método representation magic dentro de la clase
User
. Este método debe devolver la cadena"{role}: {username}"
.
Por ejemplo ("Admin: greatest.admin"
).
- Define el método representation magic dentro de la clase
- Define el método mágico de comparación para la operación
==
. Este método debe comparar
- si el dato tomado es una instancia
User
- comparar el nombre de usuario de la instancia y el nombre de usuario de la instancia tomada. - si el dato tomado es una cadena - compara el nombre de usuario de la instancia y la cadena tomada.
- si los datos tomados tienen otro tipo de datos - el método debe devolver
False
.
- Define el método mágico de comparación para la operación