В объектно-ориентированном программировании ссылка на текущий объект, часто называемая self, играет решающую роль. Вы научитесь, как эффективно использовать эту ссылку на self для взаимодействия с классами и объектами в Python.
Основные выводы
- Ссылка на self (self) является конвенцией в Python, которая позволяет вам получать доступ к свойствам и методам текущего объекта.
- self используется в качестве первого параметра в инстанс-методах и ссылается на конкретный объект, на котором был вызван метод.
- Вы можете получить доступ к объектам из классовых методов, передавая объект в качестве параметра.
Исследование ссылки на self
Чтобы полностью понять значение self, рассмотрим простой пример. Предположим, у вас есть класс Person.

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

В инициализаторе используется параметр marke для установки марки автомобиля. Здесь вступает в игру 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, вы не сможете получить доступ к переменным или методам экземпляра.