Перейти к основному содержимому

Параметр self

Внутри метода self обозначает конкретный экземпляр класса, с которым работает метод.

Через него вы получаете доступ к свойствам и методам, которые принадлежат классу.

Примечание: в каждом методе класса self должен стоять первым в списке параметров.

Пример

Прочитайте свойство класса через self:

Prompt
Создайте класс Person с методом init, принимающим name и age, и методом greet, который выводит приветствие с помощью self.name.
Вывод: полная программа на Python

Зачем нужен self?

Благодаря self Python знает, свойства какого объекта вы имеете в виду. Без него это невозможно было бы определить:

Пример

Благодаря self метод работает с тем объектом, для которого он был вызван:

Prompt
Создайте класс Person с методом printname, создайте два объекта и вызовите printname для каждого из них.
Вывод: полная программа на Python

self не обязательно называть «self»

Само это имя не обязательно. Подойдёт любое имя, если этот параметр стоит первым в каждом методе класса:

Примечание: то, что вы можете выбрать другое имя, ещё не значит, что так стоит делать. self — это соглашение в Python, и следование ему делает ваш код понятнее для других.

Пример

Здесь myobject и abc заменяют self:

Prompt
Создайте класс Person, используя собственные имена параметров (myobject, abc) вместо self.
Вывод: полная программа на Python

Доступ к свойствам через self

Через self доступно любое свойство класса:

Пример

Прочитайте несколько свойств через self:

Prompt
Создайте класс Car со свойствами brand, model, year и методом display_info, использующим f-строку и self.
Вывод: полная программа на Python

Вызов методов через self

self также позволяет методу вызывать другие методы того же класса:

Пример

Один метод вызывает другой через self:

Prompt
Создайте класс Person, в котором метод welcome вызывает метод greet с помощью self.
Вывод: полная программа на Python