Junior — Middle
93
Como pode definir ou implementar o seu próprio descritor no software?
Resposta da IA
sobes.tech IA
В Python дескриптор — это объект, который управляет доступом к атрибутам другого объекта через методы __get__, __set__ и __delete__. Чтобы реализовать собственный дескриптор, нужно создать класс с одним или несколькими из этих методов.
Пример простого дескриптора, который контролирует доступ к атрибуту:
class Descriptor:
def __init__(self, name=None):
self.name = name
def __get__(self, instance, owner):
return instance.__dict__.get(self.name)
def __set__(self, instance, value):
print(f"Устанавливаем {self.name} в {value}")
instance.__dict__[self.name] = value
class MyClass:
attr = Descriptor('attr')
obj = MyClass()
obj.attr = 42 # Выведет: Устанавливаем attr в 42
print(obj.attr) # 42
Таким образом, дескрипторы позволяют контролировать поведение атрибутов при чтении, записи и удалении.