Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
23 Ноя 2023
2 мин
11877

Разбираемся с __init__ и self в Python

Одни из основных концепций, которые новички встречают при изучении Python и особенно объектно-ориентированного программирования (ООП), это __init__ и self.

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

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Пример проблемы

Допустим, есть класс, который описывает сущность «Автомобиль».

class Car:
    def __init__(self, color, brand):
        self.color = color
        self.brand = brand

Здесь видим две незнакомые конструкции: __init__ и self. Что они делают?

Разбор init

__init__ — это специальная функция, которая вызывается при создании нового объекта класса. Она также известна как конструктор класса. Это место, где обычно устанавливаются начальные значения атрибутов класса.

В примере выше, __init__ принимает три аргумента: self, color и brand. color и brand — это значения, которые передаются при создании нового объекта класса Car, и они устанавливаются в качестве атрибутов объекта.

my_car = Car('blue', 'Toyota')

В этом случае ‘blue’ и ‘Toyota’ передаются в __init__ и устанавливаются в качестве атрибутов color и brand для my_car.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Разбор self

self — это ссылка на текущий экземпляр класса. Это способ обращения к атрибутам и методам класса изнутри самого класса.

В примере выше, self.color = color устанавливает атрибут color текущего объекта класса Car в значение color, переданное в __init__.

Следует отметить, что self не передается при создании нового объекта класса. Python автоматически передает ссылку на текущий объект в self.

my_car = Car('blue', 'Toyota')  # self не передается

В заключение, __init__ и self являются важными концепциями в Python, особенно в контексте ООП. __init__ используется для инициализации новых объектов класса, а self — для ссылки на текущий объект класса.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий