Что такое self в Python? 🤔 Все что нужно знать о self в Python
В Python self
- это ссылка на текущий экземпляр объекта класса. Он используется в методах класса для обращения к его атрибутам и методам.
Когда вы вызываете метод объекта, например obj.method()
, Python автоматически передает self
в качестве первого аргумента этого метода. Это позволяет методу получить доступ к атрибутам и выполнить операции на самом объекте.
Например:
class MyClass:
def __init__(self, name):
self.name = name
def print_name(self):
print(f"Меня зовут {self.name}")
obj = MyClass("Алиса")
obj.print_name() # Выводит "Меня зовут Алиса"
В приведенном примере, мы используем self.name
для обращения к атрибуту name
текущего объекта obj
и self
передается автоматически при вызове метода print_name()
.
Детальный ответ
Что это "self" в Python?
В Python, ключевое слово "self" используется в методах класса для ссылки на сам объект класса. Оно представляет собой конвенцию в Python, и обычно используется в методах, определенных внутри класса.
Прежде чем мы погрузимся в детали, давайте рассмотрим пример класса, чтобы понять, как используется "self".
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"Привет, меня зовут {self.name} и мне {self.age} лет.")
def celebrate_birthday(self):
self.age += 1
print(f"С Днем Рождения, {self.name}!")
В приведенном выше примере класса "Person", мы определяем три метода: "__init__()", "introduce()" и "celebrate_birthday()". Обратите внимание, что каждый метод принимает параметр "self" в качестве первого аргумента.
Роль "self" в методе "__init__"
Метод "__init__" - это конструктор класса, который вызывается при создании нового объекта класса. Он используется для инициализации атрибутов объекта.
В методе "__init__" мы принимаем два аргумента: "name" и "age". Затем мы связываем эти аргументы с атрибутами объекта, чтобы сохранить значения для каждого созданного экземпляра класса.
Например, мы можем создать новый объект "person" и инициализировать его с помощью следующего кода:
person = Person("Иван", 25)
В данном случае, "self" ссылается на созданный объект "person", и мы можем обратиться к атрибутам объекта с помощью синтаксиса "self.атрибут".
Использование "self" в остальных методах класса
В методах "introduce()" и "celebrate_birthday()" мы также видим использование параметра "self". Это позволяет нам обращаться к атрибутам класса и выполнять операции с этими атрибутами.
Например, в методе "introduce()" мы выводим имя и возраст объекта. Для доступа к атрибутам класса мы используем синтаксис "self.атрибут". Аналогично, в методе "celebrate_birthday()" мы увеличиваем возраст объекта на единицу и выводим поздравительное сообщение.
Вывод
В Python ключевое слово "self" используется для ссылки на сам объект класса внутри методов класса. Оно позволяет обращаться к атрибутам класса и выполнять операции с этими атрибутами. Помните, что использование "self" является конвенцией и является общепринятой практикой в Python.