Reprezentacja obiektów jako ciągi znaków
W Pythonie istnieją dwie specjalne metody zwracające reprezentację obiektu w postaci ciągu znaków. __str__() jest wywoływana, gdy używasz print() lub str() na obiekcie, natomiast __repr__() – gdy używasz repr(), gdy wypisujesz obiekt w konsoli bez print(), albo zamiast __str__(), jeśli ta ostatnia nie jest zdefiniowana.
__str__() powinna zwracać czytelny, przyjazny dla użytkownika opis obiektu, natomiast __repr__() powinna zwracać wyrażenie, które po obliczeniu 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
Wprowadzenie do programowania obiektowego 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 __repr__() method
____
emp1 = Employee("Amar Howard", 30000)
print(repr(emp1))
emp2 = Employee("Carolyn Ramirez", 35000)
print(repr(emp2))