Junior — Middle
98
Izskaidrojiet, ko dara iebūvētā funkcija property() Python valodā un kā tā tiek izmantota, lai pārvaldītu piekļuvi klases atribūtiem
Uzņēmumi, kur jautāja
Atbilde no AI
sobes.tech AI
Встроенная функция 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)
И обращаться к атрибуту как к обычному свойству, сохраняя удобство и безопасность.