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