Зміст курсу
In-Depth Python OOP
In-Depth Python OOP
4. Polymorphism and Abstraction
Challenge: Users Representation and Comparison
There are many magic methods in Python, we have not considered all of them, but others are not used as often.
Let's go back to your code. Your User
class hasn't representation, and you can't print user info using the print(user)
construction. Also, there are moments when you need to check a username or user id with the user instance (account) that did actions in your application.
Note
- The comments
The new code is below
andThe new code is above
will help you to find a new code for editing.- In addition, you need to add class attributes to the existing code.
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Все було зрозуміло?
Challenge: Users Representation and Comparison
There are many magic methods in Python, we have not considered all of them, but others are not used as often.
Let's go back to your code. Your User
class hasn't representation, and you can't print user info using the print(user)
construction. Also, there are moments when you need to check a username or user id with the user instance (account) that did actions in your application.
Note
- The comments
The new code is below
andThe new code is above
will help you to find a new code for editing.- In addition, you need to add class attributes to the existing code.
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Все було зрозуміло?
Challenge: Users Representation and Comparison
There are many magic methods in Python, we have not considered all of them, but others are not used as often.
Let's go back to your code. Your User
class hasn't representation, and you can't print user info using the print(user)
construction. Also, there are moments when you need to check a username or user id with the user instance (account) that did actions in your application.
Note
- The comments
The new code is below
andThe new code is above
will help you to find a new code for editing.- In addition, you need to add class attributes to the existing code.
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a
Все було зрозуміло?
There are many magic methods in Python, we have not considered all of them, but others are not used as often.
Let's go back to your code. Your User
class hasn't representation, and you can't print user info using the print(user)
construction. Also, there are moments when you need to check a username or user id with the user instance (account) that did actions in your application.
Note
- The comments
The new code is below
andThe new code is above
will help you to find a new code for editing.- In addition, you need to add class attributes to the existing code.
Завдання
- Create a
role
class attribute with the value"User"
inside theUser
class. - Create a
role
class attribute with the value"Admin"
inside theAdmin
class. - Define the representation magic method inside the
User
class. This method should return the string"{role}: {username}"
.
For example ("Admin: greatest.admin"
). - Define the comparison magic method for the
==
operation. This method should compare:- if the taken data is a
User
instance - compare the instance username and the taken instance username. - if the taken data is a string - compare the instance username and the taken string.
- if the taken data has another data type - method should return
False
.
- if the taken data is a