Junior — Middle
90
Python-да кірістірілген property() механизмі не және ол не үшін пайдаланылады?
Сұралған компаниялар
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.