Yo, кодеры и будущие хакеры! Если вы хоть раз открывали чужой код на Python или пробовали создать свой первый класс, то наверняка видели это загадочное слово: self. Оно есть почти в каждой функции внутри классов, и поначалу кажется, что это какая-то магия. Что это? Зачем оно нужно? И почему без него ничего не работает? Сегодня я раз и навсегда объясню, что такое self простыми словами, без заумных терминов. Наша аналогия — это чертёж дома. Представьте, что вы — архитектор, и у вас есть чертёж дома (House). На этом чертеже написано, что у дома есть адрес и количество этажей, а ещё он умеет показывать информацию о себе. class House:
def show_info():
# Здесь будет ошибка!
print("Это дом по адресу...") Если вы попробуете создать несколько домов по этому чертежу и заставить их «показывать информацию», Python выдаст ошибку. Почему? Потому что функция show_info() не знает, к какому именно дому она относится. Она не знает, "кто" её вызывает. И вот тут на сцену выходит self.