Junior — Middle
Have you used the @property decorator in your Python projects?
sobes.tech AI
Answer from AI
The @property decorator in Python is used to create class properties that appear as regular attributes but internally hide methods for getting, setting, and deleting values. This allows controlling access to data and adding logic when accessing attributes.
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) # Ivan
p.name = "Peter" # triggers setter
# p.name = "" # raises ValueError
Thus, @property helps make the class interface more convenient and safe.