Sobes.tech
Back to questions
Junior — Middle
67

Что такое встроенный механизм property() в Python и для чего он используется?

Companies where asked
AstonAston

Answer from AI

sobes.tech AI

Встроенный механизм property() в Python позволяет создавать управляемые атрибуты класса, которые выглядят как обычные поля, но при доступе к ним вызываются специальные методы (геттеры, сеттеры, делитеры).

Это удобно для контроля доступа к данным, валидации или вычисления значений при чтении/записи.

Пример:

class Person:
    def __init__(self, name):
        self._name = name

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        if not value:
            raise ValueError('Имя не может быть пустым')
        self._name = value

p = Person('Иван')
print(p.name)  # вызовет геттер
p.name = 'Пётр'  # вызовет сеттер

Здесь name — это свойство, которое управляет доступом к приватному атрибуту _name.