В этой части учебника мы рассмотрим конструктор в Python 3, что это такое и как с этим работать.
Что такое конструктор класса:
Для начала чтобы перейти к самому коду, давайте не много разберём что это вообще такое.
Конструктор класса нужен для назначения действ при создание объекта, обычно используется для объявление свойств, например в прошлой части мы создали метод add_marka(), где объявляли свойство market, но это делать через отдельный метод не очень удобно.
Поэтому существует конструктор класса, благодаря ему вы можете сразу создавать свойство без использования отдельного метода.
Конструктор в Python:
Для объявления конструктора класса, нужно создать метод с названием __init__(), и эти двойные подчёркивания они обязательны, все стандартные методы для классов имеют их.
Теперь разберём не большой пример, вот он:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Создаём класс Car class Car: # Создаём конструктор класса def __init__(self): # Назначаем свойство marka self.marka = "Ваз" # Используем метод show_marka() self.show_marka() # Создаём метод show_marka() def show_marka(self): # Вывод свойства print(self.marka) def main(): # Создаём объект класса Car vaz = Car() |
Как видите теперь мы объявляем свойство marka в конструкторе, также запускаем метод show_marka(), из-за чего нам не надо вызывать его в основной программе, вот что выводиться в терминал:
![]()
Как видите вывелось тоже самое, хоть мы не выводили в основной программе, всё из-за того, что мы выводим значение marka, при объявление объекта.
Но что делать если нам надо из основной программы назначить значения для marka, тут для конструктора добавим атрибуты, которые будем присваивать при объявление объекта.
Вот как теперь выглядит наш конструктор:
1 2 3 | def __init__(self, marka): self.marka = marka self.show_marka() |
И вот как теперь объявляем объект или экземпляр класса Car:
1 | vaz = Car(marka="BMV") |
Вот что должно теперь вывестись:
![]()
Как видите всё работает, то есть нам надо как для обычной функции или метода в конструкторе назначить атрибуты и потом при вызове их передать в класс, как тогда, объявляем функцию.
Деструктор Python 3:
Последние что стоит рассмотреть, так это деструктор, вообще в Python он и не особо то что нужен, но давайте всё по порядку.
Деструктор он срабатывает при удаление объекта и обычно используется для удаления всех его свойств, как например в C++, но в Python в этом нет смысла, так как в нём всё автоматически, поэтому им редко пользуется.
Но пример не большой с ним я вам покажу, чтобы вы знали как он работает, вот пример:
1 2 3 4 | # Создание деструктора def __del__(self): # Вывод в терминал "Удаление объекта" print("Удаление объекта") |
Его мы добавили в класс который делали выше, и как видите чтобы создать деструктор, нужно создать метод __del__(), и как вы поняли это один из стандартных методов класса в Python.
Больше нечего мы не меняли, поэтому у нас выцедиться почти всё тоже самое, вот что получилось:

Как видите всё просто.
Вывод:
В этой статье мы разобрали что такое конструктор в Python 3, показали как с этим работать, ещё немного затронули деструктор.
