В прошлом задании для вывода на экран данных о каждом объекте мы писали отдельный код для каждого объекта. Это громоздко и нерационально, ООП позволяет оптимизировать код. В классе Contact создайте метод show_contact()
, который будет выводить данные любого объекта типа Contact в том же виде, как сейчас их выводит функция print_contact
.
- В теле класса Contact напишите метод
show_contact
, который в качестве параметра будет принимать переменнуюself
. В теле метода выполнитеprint()
, точно такой же, как в функцииprint_contact
, только вместо имени объекта в аргументе укажитеself
. - Вызовите метод
show_contact
для объектов mike и vlad
Подсказка:
- В теле класса Contact после функции
__init__
объявите функцию:def show_contact(self):
В тело этой функции скопируйте любой из вызовов print() из функции print_contact(). В скопированной строке имя конкретного объекта замените наself
- Обратиться к методу объекта можно так:
имя_объекта.имя_метода()
Код:
class Contact: def __init__(self, name, phone, birthday, address): self.name = name self.phone = phone self.birthday = birthday self.address = address print(f"Создаём новый контакт {name}") def show_contact(self): print(f"{self.name} — адрес: {self.address}, телефон: {self.phone}, день рождения: {self.birthday}") mike = Contact("Михаил Булгаков", "2-03-27", "15.05.1891", "Россия, Москва, Большая Пироговская, дом 35б, кв. 6") vlad = Contact("Владимир Маяковский", "73-88", "19.07.1893", "Россия, Москва, Лубянский проезд, д. 3, кв. 12") # обратитесь к методу show_contact() объекта mike mike.show_contact() # и к методу show_contact() объекта vlad vlad.show_contact()