Об’єкт — це набір даних (змінних) та методів (функцій). Клас — це креслення (план) об’єкта. Ми можемо уявити клас як ескіз (прототип) будинку. Він містить всі деталі про поверхи, двері, вікна тощо. На основі цих описів ми будуємо будинок. Будинок — це об’єкт. Оскільки з одного й того самого опису можна побудувати багато будинків, ми можемо створити багато об’єктів з одного класу.
Визначення класу в Python
Для створення класу в Python використовується ключове слово class:
|
1 2 |
class ClassName: # Визначення класу |
Тут ми створили клас з ім’ям ClassName.
Розглянемо приклад:
|
1 2 3 |
class Bike: name = "" gear = 0 |
Тут:
Bike – назва класу;
name та gear — змінні всередині класу.
Примітка: Змінні всередині класу називаються атрибутами.
Об’єкти в Python
Об’єкт — це екземпляр класу. Наприклад, Bike — це клас і ми можемо створити об’єкти типу bike1, bike2 з цього класу.
Синтаксис створення об’єктів класу в Python:
|
1 |
objectName = ClassName() |
Розглянемо приклад:
|
1 2 3 4 5 6 7 |
# Створюємо клас class Bike: name = "" gear = 0 # Створюємо об'єкт класу bike1 = Bike() |
Тут bike1 — це об’єкт класу Bike. Ми можемо використовувати цей об’єкт для доступу до атрибутів (даних) класу Bike.
Доступ до атрибутів класу через об’єкти
Оператор . використовується для доступу до атрибутів класу. Наприклад:
|
1 2 3 4 5 |
# Змінюємо атрибут name об'єкта bike1 bike1.name = "Mountain Bike" # Отримуємо доступ до атрибута gear об'єкта bike1 bike1.gear |
Тут ми використали bike1.name та bike1.gear для доступу та зміни значень атрибутів name та gear.
Розглянемо інший приклад:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Створюємо клас class Bike: name = "" gear = 0 # Створюємо об'єкт класу bike1 = Bike() # Отримуємо доступ до атрибутів об'єкта та присвоюємо нові значення bike1.gear = 11 bike1.name = "Mountain Bike" # Виводимо дані об'єкта на екран print(f"Name: {bike1.name}, Gears: {bike1.gear} ") |
Результат:
Name: Mountain Bike, Gears: 11
Тут ми визначили клас Bike з двома атрибутами: name та gear. Створили об’єкт bike1 класу Bike та отримали доступ до атрибутів об’єкта, а потім змінили їх, використовуючи оператор ..
Створення кількох об’єктів одного класу
Ми можемо створити багато об’єктів одного класу. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Створюємо клас class Employee: # Визначаємо атрибут employee_id = 0 # Створюємо два об'єкти класу Employee employee1 = Employee() employee2 = Employee() # Отримуємо доступ до атрибутів об'єкта employee1 та присвоюємо нове значення employee1.employeeID = 1001 print(f"Employee ID: {employee1.employeeID}") # Отримуємо доступ до атрибутів об'єкта employee2 та присвоюємо нове значення employee2.employeeID = 1002 print(f"Employee ID: {employee2.employeeID}") |
Результат:
Employee ID: 1001
Employee ID: 1002
Методи в Python
Функція, визначена всередині класу, називається методом.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# Створюємо клас class Room: length = 0.0 width = 0.0 # Метод обчислення площі def calculate_area(self): print("Area of Room =", self.length * self.width) # Створюємо об'єкт класу Room study_room = Room() # Надаємо нові значення всім атрибутам об'єкта study_room.length = 42.5 study_room.width = 30.8 # Отримуємо доступ до методу всередині класу study_room.calculate_area() |
Результат:
Area of Room = 1309.0
Тут ми створили клас Room з атрибутами: length та width; та методом calculate_area(). Потім ми створили об’єкт study_room класу Room та використали цей об’єкт для присвоєння значень атрибутам length та width. Зверніть увагу, що ми також використали цей об’єкт для виклику методу всередині класу за допомогою оператора .:
|
1 |
study_room.calculate_area() |
Конструктори в Python
Раніше ми присвоїли значення за замовчуванням атрибуту name класу Bike:
|
1 2 3 4 5 6 |
class Bike: name = "" ... # Створюємо об'єкт класу bike1 = Bike() |
Однак, ми також можемо ініціалізувати значення за допомогою конструкторів. Наприклад:
|
1 2 3 4 5 6 |
class Bike: # Функція-конструктор def __init__(self, name = ""): self.name = name bike1 = Bike() |
Тут __init__() – це функція-конструктор, яка викликається щоразу, коли створюється новий об’єкт цього класу. Конструктор ініціалізує значення атрибута name. Ми використали self.name, щоб посилатися на атрибут name об’єкта bike1.
Якщо ми використовуємо конструктор для ініціалізації значень всередині класу, нам необхідно передати відповідне значення під час створення об’єкта класу:
|
1 |
bike1 = Bike("Mountain Bike") |
Тут "Mountain Bike" передається як аргумент name функції __init__() (яка є конструктором класу Bike) для ініціалізації атрибута name.

(35 оцінок, середня: 4,80 з 5)