У об'єктно-орієнтованому програмуванні посилання на поточний об'єкт, часто званий self, відіграє вирішальну роль. Ви навчитеся, як ефективно використовувати це посилання на self для взаємодії з класами та об'єктами в Python.
Основні висновки
- Посилання на self (self) є конвенцією в Python, яка дозволяє вам отримувати доступ до властивостей та методів поточного об'єкта.
- self використовується як перший параметр в методах екземпляра і посилається на конкретний об'єкт, на якому був викликаний метод.
- Ви можете отримувати доступ до об'єктів з методів класу, передаючи об'єкт як параметр.
Дослідження посилання на self
Щоб повністю зрозуміти значення self, розглянемо простий приклад. Припустімо, у вас є клас Особа.

Коли ви створюєте екземпляр цього класу, виділяється пам'ять, і об'єкт готовий до використання. При цьому змінна, яку ви використовуєте для інстанціювання, посилається на відповідну область пам'яті.
Особливість полягає в тому, що, коли ви хочете отримати доступ до властивостей або методів всередині класу, вам потрібен доступ до поточного об'єкта. Оскільки при визначенні класу ви не знаєте, як об'єкт пізніше називатиметься, self - це шлях отримання цього посилання.
Тому, коли ви використовуєте self.name, ви можете отримати доступ до імені особи, яке було збережено в ініціалізаторі.
Практичний приклад – Клас Авто
Тепер давайте створимо практичний приклад. Ми створимо клас Авто, який має марку та ініціалізатор.

У ініціалізаторі використовується параметр марка, щоб встановити марку автомобіля. Тут на сцені з'являється self. Він використовується в методі для присвоєння переданого значення змінній екземпляра.

Тепер ви можете створити метод get_marke, який дозволяє вам отримати доступ до марки автомобіля. Параметр self автоматично передається, коли метод викликається.

Коли ви створюєте об'єкт класу Авто, скажімо, tesla, і отримуєте доступ до методу get_marke, self буде посилатися на конкретний об'єкт, тобто tesla.

Це означає, що ви можете очікувати, що метод get_marke поверне значення, яке було раніше встановлено.

Ви також можете викликати метод безпосередньо через клас, передаючи об'єкт. Це не робиться часто, але це корисно для розуміння того, як працює self.

Важливо зазначити, що стандартним способом є виклик методу через об'єкт, а не через клас.
Резюме – Оволодіння посиланням на self в Python
Посилання на self є основним поняттям в об'єктно-орієнтованому програмуванні з Python. Воно дозволяє легко отримувати доступ до властивостей та методів вашого об'єкта, як всередині, так і зовні функцій та методів. Якщо ви освоїте використання self у своїх класах, ви зможете писати більш зрозумілі, функціональні та зручні для обслуговування класи як у власних проектах, так і в рамках командних проектів.
Поширені запитання
Що таке self в Python?self - це перший параметр в методах екземпляра і посилається на поточний об'єкт.
Чому self важливий?self дозволяє отримувати доступ до властивостей і методів поточного об'єкта.
Чи можу я використовувати self у методі класу?Так, але зазвичай зазвичай зручніше викликати метод через об'єкт.
Як передається self?self автоматично передається як перший параметр в методах екземпляра.
Що трапиться, якщо я забуду про self у методі?Якщо ви забудете про self, ви не зможете отримати доступ до змінних або методів екземпляра.