Назад к вопросам
Junior
63
questionbank
Что такое self в Python?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
self в Python — это первый аргумент метода экземпляра класса. Он представляет собой сам экземпляр объекта, через который был вызван метод.
Ключевые особенности self:
- Ссылка на экземпляр: Позволяет получать доступ к атрибутам и вызывать другие методы этого конкретного экземпляра класса.
- Соглашение об именовании:
self- это традиционное, но не обязательное имя. Можно использовать любое другое имя, ноself- общепринятый стандарт, делающий код читаемым. - Передается автоматически: При вызове метода экземпляра Python автоматически передает ссылку на вызывающий экземпляр в качестве первого аргумента (
self). Определять его при вызове не нужно. - Отсутствует в статических методах и методах класса: В статических методах (
@staticmethod)selfотсутствует, так как они не связаны с конкретным экземпляром. В методах класса (@classmethod) первым аргументом является ссылка на сам класс (cls), а не на экземпляр.
Пример использования:
class MyClass:
def __init__(self, value):
# Назначаем переданное значение атрибуту экземпляра 'value'
self.value = value
def print_value(self):
# Используем 'self' для доступа к атрибуту 'value' этого экземпляра
print(f"Value is: {self.value}")
# Создаем экземпляр класса
obj = MyClass(10)
# Вызываем метод экземпляра. Python автоматически передает 'obj' как 'self'
obj.print_value()
В данном примере self внутри методов __init__ и print_value ссылается на объект obj. Без self невозможно было бы получить доступ к атрибуту value, который принадлежит именно этому экземпляру MyClass.