Теорія:

Об’єкти, їхні властивості та методи
Мова Python є об’єктно-орієнтованою, тобто кожна величина є об’єктом певного класу.
Клас — це опис об’єктів певного типу.
 
Об’єкт — це екземпляр деякого класу.
Опис класу містить атрибути(змінні), які відповідають властивостям об’єктів, і описи методівкласу — дій, які можуть виконувати об’єкти цього класу.
Опис класів і створення об’єктів
Клас — це своєрідна інструкція зі створення екземплярів. Створення об’єкта на основі класу називають створенням екземпляра класу.

Опис класу розташовують на початку коду програми.
Синтаксис опису класу:
сlass <назва класу>(<базовий клас>):
       <атрибут класу> = <значення>
       def _ _init_ _(self, <інші параметри>):
               self.<атрибут екземпляра> = значення
Атрибути класу мають однакове значення для всіх екземплярів класу, тоді як атрибути екземплярів — окреме значення для кожного екземпляра.
Метод _ _init_ _ називається конструктором класу. Він автоматично виконується під час створення кожного нового екземпляра класу.
Назва цього методу починається й закінчується двома символами підкреслення. Параметр self зберігає посилання на створений об’єкт.
Синтаксис команди створення об’єкта:
[змінна = ] <назва класу>([<перелік значень параметрів>])
Доступ до створеного об’єкта можна отримати через змінну. Якщо такий доступ не потрібен, назву змінної не вказують.
Приклад:
Напишемо клас, що моделює транспортний засіб.
13.PNG

В останньому рядку коду викликається конструктор класу Transport і створюється екземпляр класу tr1 зі значеннями відповідних атрибутів вантажівка і дизельний.
Методи класу
Під час виклику методів можуть змінюватися властивості (значення атрибутів) об’єкта, виконуватися інші дії над об’єктами.
Синтаксис заголовка методу класу:
def <назва методу>(self[, параметри]):
Код методу виконується у відповідь на виклик методу для конкретного об’єкта.
Виклик методу для об’єкта має такий синтаксис:
<об’єкт>.<метод>([значення параметрів])
У разі виклику методу, до нього передається посилання на об’єкт, для якого викликається метод (параметр self).
Додамо до опису класу Transport() опис методу fuel() для визначення виду пального:

14.PNG

Буде надруковано: вантажівка дизельний двигун.
Створення класів-нащадків базового класу
Успадкування — це можливість створення нового класу (нащадка) на базі вже наявного (базового).
Транспортний засіб має такі властивості, як тип засобу, тип двигуна, вартість. Автобус також має ці властивості, однак у нього є ще й додаткові властивості: кількість місць, призначення, маршрут. З точки зору успадкування клас Автобус є нащадком класу Транспортний засіб.

Таким чином, клас-нащадок містить всі атрибути й методи базового класу, але при цьому його можна розширити, додавши нові методи й атрибути. Це позбавляє від необхідності описувати в класі-нащадку атрибути та методи, успадковані від базового класу.

На основі базового класу Transport створимо два класи-нащадки: Truck і Bus, що мають власні методи:
 
15.PNG
Використання панелі Структура
У панелі Структура відображається структура опису класів і перелік змінних екземплярів класів. Зверніть увагу на позначки заголовків класів, методів, атрибутів і екземплярів класів.

16.PNG
Зверни увагу!
Якщо набрати назву екземпляра класу, автодоповнення запропонує перелік методів, які можна викликати для цього об’єкта із зазначенням класу, в якому метод описано.
Отже, програміст може описати свій тип даних (клас), визначити в класі певні методи. Разом із тим, використання готових класів, описаних у файлах модулів (наприклад, у модулі tkinter) значно прискорює розробку програми.
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2021