ZEN_OF_PYTHON Telegram 4528
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10



tgoop.com/zen_of_python/4528
Create:
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

BY Zen of Python


Share with your friend now:
tgoop.com/zen_of_python/4528

View MORE
Open in Telegram


Telegram News

Date: |

The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Content is editable within two days of publishing Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. “[The defendant] could not shift his criminal liability,” Hui said.
from us


Telegram Zen of Python
FROM American