Pythonic способ использования геттеров и сеттеров

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Сначала определим, что такое геттеры и сеттеры. Геттеры и сеттеры — это специальные методы в объектно-ориентированном программировании, которые
Сначала определим, что такое геттеры и сеттеры. Геттеры и сеттеры — это специальные методы в объектно-ориентированном программировании, которые позволяют управлять доступом к атрибутам объекта.
Вот как это может выглядеть в классическом стиле:
class MyClass:
def __init__(self):
self._my_property = 0
def get_property(self):
return self._my_property
def set_property(self, value):
self._my_property = value
В этом примере get_property
и set_property
— это геттер и сеттер соответственно.
Однако в Python есть более «pythonic» способ делать то же самое. Python предоставляет декораторы @property
и @<property_name>.setter
для создания геттеров и сеттеров.
С помощью этих декораторов можно создать методы, которые будут выглядеть и вести себя как обычные атрибуты. Вот как это выглядит на практике:
class MyClass:
def __init__(self):
self._my_property = 0
@property
def my_property(self):
return self._my_property
@my_property.setter
def my_property(self, value):
self._my_property = value
Теперь, чтобы получить или установить значение, достаточно обращаться к my_property
как к обычному атрибуту, без вызова метода:
obj = MyClass()
obj.my_property = 10 # использование сеттера
print(obj.my_property) # использование геттера, выведет: 10
Это делает код более чистым и простым для чтения. Это и есть «pythonic» способ использования геттеров и сеттеров.
Добавить комментарий