Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Reto: Representación y Comparación de Usuarios | 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

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 y El 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

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.

Tarea

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

Sección 5. Capítulo 5
toggle bottom row

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 y El 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

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.

Tarea

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

Sección 5. Capítulo 5
toggle bottom row

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 y El 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

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.

Tarea

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

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 y El 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

  1. Crea un atributo de clase role con el valor "User" dentro de la clase User.
  2. Crear un atributo de clase role con el valor "Admin" dentro de la clase Admin.
    1. 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").
    1. 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.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Sección 5. Capítulo 5
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
We're sorry to hear that something went wrong. What happened?
some-alt