Справочник · модуль 9 «Объекты и классы»

Self

Первый параметр метода называют self. Это сам объект. Через self читают и меняют его атрибуты: self.name.

Сравнение из жизни

Как слово «я» в рассказе: каждый объект говорит о себе.

Пример

Забыли self в скобках

class Cat:
    def __init__(name, age):
        self.name = name

cat = Cat("Бит", 3)
Python сообщает об ошибке
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    cat = Cat("Бит", 3)
          ~~~^^^^^^^^^^
TypeError: Cat.__init__() takes 2 positional arguments but 3 were given

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

Запомнить

self — как слово «я». Объект говорит о себе: моё имя, мой возраст.

Частые ошибки новичков на этой теме

Тема из урока 9.2 «Свой класс» курса PythonAZ.

В этом же уроке