Junior
39
questionbank

Что такое self в Python?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

self в Python — это первый аргумент метода экземпляра класса. Он представляет собой сам экземпляр объекта, через который был вызван метод.

Ключевые особенности self:

  • Ссылка на экземпляр: Позволяет получать доступ к атрибутам и вызывать другие методы этого конкретного экземпляра класса.
  • Соглашение об именовании: self - это традиционное, но не обязательное имя. Можно использовать любое другое имя, но self - общепринятый стандарт, делающий код читаемым.
  • Передается автоматически: При вызове метода экземпляра Python автоматически передает ссылку на вызывающий экземпляр в качестве первого аргумента (self). Определять его при вызове не нужно.
  • Отсутствует в статических методах и методах класса: В статических методах (@staticmethod) self отсутствует, так как они не связаны с конкретным экземпляром. В методах класса (@classmethod) первым аргументом является ссылка на сам класс (cls), а не на экземпляр.

Пример использования:

python

В данном примере self внутри методов __init__ и print_value ссылается на объект obj. Без self невозможно было бы получить доступ к атрибуту value, который принадлежит именно этому экземпляру MyClass.