Как в Python объявить класс и каково назначение метода __init__ и параметра self

Ответ

Классы в Python являются основой объектно-ориентированного программирования (ООП) и служат шаблонами для создания объектов. Они объединяют данные (атрибуты) и функции для работы с этими данными (методы).

Ключевые элементы объявления класса:

  • class: Ключевое слово для объявления класса.
  • __init__(self, ...): Специальный метод-конструктор. Он вызывается автоматически при создании нового экземпляра класса (Car(...)) и используется для инициализации его атрибутов.
  • self: Обязательный первый параметр для всех методов экземпляра, включая __init__. Он представляет собой ссылку на сам экземпляр объекта, позволяя методам получать доступ к его атрибутам и другим методам (например, self.brand).

Пример простого класса:

class Car:
    # Конструктор для инициализации атрибутов brand и model
    def __init__(self, brand: str, model: str):
        self.brand = brand
        self.model = model
        self.is_running = False

    # Метод экземпляра для изменения состояния
    def start_engine(self):
        self.is_running = True
        print(f"Двигатель {self.brand} {self.model} запущен.")

# Создание экземпляра (объекта) класса Car
my_car = Car("Tesla", "Model S")

# Вызов метода экземпляра
my_car.start_engine()

# Доступ к атрибуту
print(f"Состояние двигателя: {"Работает" if my_car.is_running else "Выключен"}")

В этом примере my_car — это объект (экземпляр) класса Car, а brand и model — его атрибуты, инициализированные через конструктор.