Класс Car
Напишем класс, представляющий автомобиль. Этот класс будет содержать информацию о типе машины, а также метод для вывода краткого описания:
car.py
class Car():
. ."""Простая модель автомобиля."""
(1) . .def __init__(self, make, model, year):
. . . ."""Инициализирует атрибуты описания автомобиля."""
. . . .self.make = make
. . . .self.model = model
. . . .self.year = year
. . . .
(2) . .def get_descriptive_name(self):
. . . ."""Возвращает аккуратно отформатированное описание."""
. . . .long_name = str(self.year) + ' ' + self.make + ' ' + self.model
. . . .return long_name.title()
. .
(3)my_new_car = Car('audi', 'a4', 2016)
print(my_new_car.get_descriptive_name())
В точке (1) в классе Car определяется метод __init__(); его список параметров начинается с self, как и в классе Dog. За ним следуют еще три параметра: make, model и year. Метод __init__() получает эти параметры и сохраняет их в атрибутах, которые будут связаны с экземплярами, созданными на основе класса. При создании нового экземпляра Car необходимо указать фирму-производителя, модель и год выпуска для данного экземпляра.
В точке (2) определяется метод get_descriptive_name(), который объединяет год выпуска, фирму-производителя и модель в одну строку с описанием. Это избавит вас от необходимости выводить значение каждого атрибута по отдельности. Для работы со значениями атрибутов в этом методе используется синтаксис self.make, self.model и self.year.
В точке (3) создается экземпляр класса Car, который сохраняется в переменной my_new_car. Затем вызов метода get_descriptive_name() показывает, с какой машиной работает программа:
2016 Audi A4
Чтобы класс был более интересным, добавим атрибут, изменяющийся со временем, — в нем будет храниться пробег машины в милях.