tgoop.com/zen_of_python/4528
Create:
Last Update:
Last Update:
self
: простейшее объяснение
Если вы только начинаете изучать Python, то почти наверняка уже столкнулись с self
. В этом лонгриде мы разберемся, что это и с чем это едят.self
— это ссылка на объект
Ключевое слово self используется в методах классов. Оно всегда указывает на текущий экземпляр класса, через который происходит обращение к данным и методам.
class Employee:
def set_salary(self, value):
self.salary = value
e = Employee()
e.set_salary(2000)
print(e.salary)
Когда вы создаёте объект, Python автоматически передаёт этот объект первым аргументом в метод. Принято называть его self, хотя технически вы можете использовать любое имя.
Employee
с методом set_salary
. Этот метод принимает два аргумента:— self — сам объект;
— value — значение, которое мы хотим установить.
self.salary = value
Это значит, что у конкретного объекта
e
создаётся атрибут salary
, которому присваивается переданное значение.
e = Employee()
e.set_salary(2000)
На самом деле Python преобразует этот вызов в:
Employee.set_salary(e, 2000)
print(e.salary) # 2000
Почему без self не обойтись?
self
позволяет объекту хранить собственные данные. Каждый экземпляр класса имеет свой набор атрибутов, и именно через self
мы к ним обращаемся.Например, если создать двух сотрудников:
e1 = Employee()
e2 = Employee()
e1.set_salary(2000)
e2.set_salary(3000)
print(e1.salary) # 2000
print(e2.salary) # 3000
У каждого объекта будет своя зарплата.
#инструмент
@zen_of_python