Reprezentacja obiektów jako ciągi znaków
W Pythonie istnieją dwie specjalne metody zwracające reprezentację obiektu jako ciąg znaków. Metoda __str__() jest wywoływana, gdy używasz print() lub str() na obiekcie, natomiast __repr__() – gdy używasz repr(), gdy wypisujesz obiekt w konsoli bez wywołania print(), albo zamiast __str__(), jeśli ta metoda nie jest zdefiniowana.
Zadaniem __str__() jest zwrócenie „przyjaznego dla użytkownika" opisu obiektu, natomiast __repr__() powinno zwracać wyrażenie, które – po wykonaniu – odtworzy ten sam obiekt, zapewniając tym samym powtarzalność kodu.
W tym ćwiczeniu będziesz dalej pracować z klasą Employee z rozdziału 2.
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)