Sobes.tech
Junior — Middle
108

Бағдарламалық қамтамасыз етуде жеке сипаттаушыны қалай анықтау немесе жүзеге асыруға болады?

AI-дан жауап

sobes.tech AI

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

Осылайша, дескрипторлар атрибуттардың оқылуы, жазылуы және жойылуы кезінде олардың мінез-құлқын бақылауға мүмкіндік береді.