Оптимизация кода при помощи ООП в Python

В прошлом задании для вывода на экран данных о каждом объекте мы писали отдельный код для каждого объекта. Это громоздко и нерационально, ООП позволяет оптимизировать код. В классе Contact создайте метод show_contact(), который будет выводить данные любого объекта типа Contact в том же виде, как сейчас их выводит функция print_contact.

  1. В теле класса Contact напишите метод show_contact, который в качестве параметра будет принимать переменную self. В теле метода выполните print(), точно такой же, как в функции print_contact, только вместо имени объекта в аргументе укажите self.
  2. Вызовите метод show_contact для объектов mike и vlad

Подсказка:

  1. В теле класса Contact после функции __init__ объявите функцию: def show_contact(self): В тело этой функции скопируйте любой из вызовов print() из функции print_contact(). В скопированной строке имя конкретного объекта замените на self
  2. Обратиться к методу объекта можно так: имя_объекта.имя_метода()

Код:

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()




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: