28
...
инструкцияN
Әдетте, әдістің атындағы бірінші аргумент – self. Тілдің
авторы Гвидо Ван Россум
айтқандай, бұл келісім ғана: self деген атаудың ешқандай да арнайы мағынасы жоқ.
self
аргументі кластың басқа атрибуттарына бару үшін ғана пайдалы.
# Python-да өзіміздің класымызды жазайық.
class A:
і = 0
# Класс атрибуты
def prnt(self):
# Класс әдісі
print(self.i)
# Енді осы кластың бірнеше данасын кэдэа аламыз
а = А()
# Дана 'а'
b = А()
# Дана 'b'
a.і = 3
# 'а' данасының 'і' атрибуты, тең болады 3
b.і = 5
# 'b' данасының 'і' атрибуты, тең болады 5
a.prnt() # 'а' данасы әдісін шақыру
b.pmt() # 'b' данасы әдісін шақыру
Нәтижесі:
3
5
Инкапсуляция
Инкапсуляция дегеніміз – объект құрамындағы компоненттерге (әдістер мен айнымалы-
ларға) баруды шектеу. Инкапсуляция көмегімен кейбір компоненттер тек қана класс ішінде
қолжетімді болады. Python ішіндегі инкапсуляция программалаушылар арасындағы келісімге
байланысты
іске асады, қайсы атрибутты жалпыға қолжетімді
ету немесе қайсысын ішкі
атрибут ретінде белгілеу – әр программада жеке шешіледі.
Атрибут атының басындағы
астын бір рет сызу – айнымалы немесе әдістің кластан тыс
қолданылмайтындығын, бірақ осы ат бойынша қолжетімді екендігін көрсетеді.
Атрибут атының басындағы астын екі рет сызу – оның қорғаныс қауіпсіздігін үлкейтеді:
атрибут осы аты бойынша қолжетімсіз бола бастайды (мына біздің мысалда жұмыс істемеуі
мүмкін, бірақ өз инспекторыңызда жасап көріңіз).
Екі рет сызсақ та, атрибут толық қорғалмайды және:
b.В private()
атымен қолжетімді болып қала береді.
class A:
def _private(self):
ргіпІ("Бұл приват әдісі!")
а = А()
a._private()
Нәтижесі:
Бұл приват әдісі!
Достарыңызбен бөлісу: