Sobes.tech
Back to questions
Junior — Middle
73

Можете объяснить, что означает термин 'self' в контексте объектно-ориентированного программирования?

Answer from AI

sobes.tech AI

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

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

Пример:

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"Привет, меня зовут {self.name}")

p = Person("Аня")
p.greet()  # Выведет: Привет, меня зовут Аня

Здесь self.name — это атрибут конкретного объекта p. Без self методы не смогут знать, с каким именно объектом они работают.