Junior — Middle
What is the built-in property() mechanism in Python and what is it used for?
sobes.tech AI
Answer from AI
The built-in property() mechanism in Python allows creating managed class attributes that look like regular fields but invoke special methods (getters, setters, deleters) when accessed.
This is convenient for controlling access to data, validation, or computing values during read/write.
Example:
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('Name cannot be empty')
self._name = value
p = Person('Ivan')
print(p.name) # calls getter
p.name = 'Peter' # calls setter
Here, name is a property that manages access to the private attribute _name.