07 Июл 2023
2 мин
1053

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

Сначала определим, что такое геттеры и сеттеры. Геттеры и сеттеры — это специальные методы в объектно-ориентированном программировании, которые

Содержание

Сначала определим, что такое геттеры и сеттеры. Геттеры и сеттеры — это специальные методы в объектно-ориентированном программировании, которые позволяют управлять доступом к атрибутам объекта.

Вот как это может выглядеть в классическом стиле:

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» способ использования геттеров и сеттеров.

Содержание

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

Определи профессию по рисунку