Junior — Middle
82
Python-да деректерді жасыру қалай жүзеге асырылады және оған қол жеткізуді қалай шектеуге болады?
AI-дан жауап
sobes.tech AI
Python-да деректерді жасыру келісімдер мен атрибуттарды атау механизмдері арқылы жүзеге асырылады, кейбір басқа тілдердегідей қатаң қол жеткізу шектеуі емес.
- Бір сызықша
_variableатрибут немесе әдіс қорғалған (protected) деп белгіленеді және ол сынып немесе оның мұрагерлерінен тыс қолдануға арналмаған. Бұл келісім, тыйым емес. - Екі сызықша
__variablename mangling механизмін іске қосады, яғни атрибуттың аты сынып ішінде өзгертіледі, бұл сырттан қол жеткізуді қиындатады. Мысалы,__varсынып ішіндеMyClassдеп аталса, ол_MyClass__varболып өзгереді.
Мысал:
class MyClass:
def __init__(self):
self.public = 1
self._protected = 2
self.__private = 3
obj = MyClass()
print(obj.public) # 1
print(obj._protected) # 2 (болуы мүмкін, бірақ ұсынылмайды)
# print(obj.__private) # Қате AttributeError
print(obj._MyClass__private) # 3 (name mangling арқылы қол жеткізу)
Осылайша, Python-да деректерді жасыру — бұл көбінесе келісім және name mangling-ды пайдалану арқылы тікелей қол жеткізуді қиындату.