Řetězcová reprezentace objektů
V Pythonu existují dvě speciální metody, které vrací řetězcovou reprezentaci objektu. Metoda __str__() se zavolá, když použiješ print() nebo str() na objektu, a metoda __repr__() se zavolá, když použiješ repr(), 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í vrátí tentýž objekt – 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
Object-Oriented Programming in Python
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 __str__() method
____
emp1 = Employee("Amar Howard", 30000)
print(emp1)
emp2 = Employee("Carolyn Ramirez", 35000)
print(emp2)