Řetězcová reprezentace objektů
Python nabízí dvě speciální metody, které vrací řetězcovou reprezentaci objektu. Metoda __str__() se volá, když použiješ print() nebo str() na objekt, a metoda __repr__() se volá, když použiješ repr() na objekt, vypíšeš objekt v konzoli bez volání print(), nebo místo __str__(), pokud __str__() není definována.
__str__() by měla poskytovat „uživatelsky přívětivý" výstup popisující objekt, zatímco __repr__() by měla vracet výraz, jehož vyhodnocením získáš stejný objekt zpět – což zajišťuje reprodukovatelnost tvého kódu.
V tomto cvičení budeš pokračovat s třídou Employee z 2. kapitoly.
Toto cvičení je součástí kurzu
Úvod do objektově orientovaného programování v Pythonu
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
class Employee:
def __init__(self, name, salary=30000):
self.name, self.salary = name, salary
# Add the __repr__() method
____
emp1 = Employee("Amar Howard", 30000)
print(repr(emp1))
emp2 = Employee("Carolyn Ramirez", 35000)
print(repr(emp2))