Junior — Middle
84
Objasnite šta radi ugrađena funkcija property() u Pythonu i kako se koristi za upravljanje pristupom atributima klase
Компаније где су питане
Одговор од АИ
sobes.tech АИ
Встроенная функция property() в Python используется для создания управляемых атрибутов класса — то есть таких, доступ к которым можно контролировать через методы (геттеры, сеттеры и делиттеры), но при этом обращаться к ним как к обычным атрибутам.
Это позволяет инкапсулировать логику доступа и изменения значения, не меняя интерфейс класса.
Пример использования:
class Person:
def __init__(self, name):
self._name = name # приватный атрибут
def get_name(self):
return self._name
def set_name(self, value):
if not isinstance(value, str):
raise ValueError("Имя должно быть строкой")
self._name = value
def del_name(self):
del self._name
name = property(get_name, set_name, del_name, "Свойство для имени")
p = Person("Иван")
print(p.name) # вызовет get_name
p.name = "Пётр" # вызовет set_name
Таким образом, property() позволяет:
- Определить функцию для чтения значения (getter)
- Определить функцию для записи значения (setter)
- Определить функцию для удаления значения (deleter)
И обращаться к атрибуту как к обычному свойству, сохраняя удобство и безопасность.