Сначала определим, что такое геттеры и сеттеры. Геттеры и сеттеры — это специальные методы в объектно-ориентированном программировании, которые позволяют управлять доступом к атрибутам объекта.
Вот как это может выглядеть в классическом стиле:
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» способ использования геттеров и сеттеров.
Перейти в телеграм, чтобы получить результаты теста





Забрать
Добавить комментарий