175 УПРАЖНЕНИЯ 9.1. Ресторан: создайте класс с именем
Restaurant
. Метод
__init__()
класса
Restaurant
должен содержать два атрибута
:
restaurant_name
и
cuisine_type
. Создайте метод
describe_
restaurant()
, который выводит два атрибута, и метод
open_restaurant()
, который выводит
сообщение о том, что ресторан открыт.
Создайте на основе своего класса экземпляр с именем
restaurant
. Выведите два атрибута
по отдельности, затем вызовите оба метода.
9.2. Три ресторана: начните с класса из упражнения 9.1. Создайте три разных экземпляра,
вызовите для каждого экземпляра метод
describe_restaurant()
.
9.3. Пользователи : создайте класс с именем
User
. Создайте два атрибута
first_name
и
last_
name
, а затем еще несколько атрибутов, которые обычно хранятся в профиле пользователя.
Напишите метод
describe_user()
, который выводит сводку с информацией о пользователе.
Создайте еще один метод
greet_user()
для вывода персонального приветствия для поль-
зователя.
Создайте несколько экземпляров, представляющих разных пользователей. Вызовите оба
метода для каждого пользователя.
Работа с классами и экземплярами
Классы могут использоваться для моделирования многих реальных ситуаций. По-
сле того как класс будет написан, разработчик проводит большую часть времени
за работой с экземплярами, созданными на основе этого класса. Одной из первых
задач станет изменение атрибутов, связанных с конкретным экземпляром. Атрибу-
ты экземпляра можно изменять напрямую или же написать методы, изменяющие
атрибуты по особым правилам.
Класс Car
Напишем класс, представляющий автомобиль. Этот класс будет содержать инфор-
мацию о типе машины, а также метод для вывода краткого описания:
car.py class Car():
"""Простая модель автомобиля."""
❶
def __init__(self, make, model, year):
"""Инициализирует атрибуты описания автомобиля."""
self.make = make
self.model = model
self.year = year
❷
def get_descriptive_name(self):
"""Возвращает аккуратно отформатированное описание."""
long_name = f"{self.year} {self.manufacturer} {self.model}"
return long_name.title()