Python тілі негіздері (әдістемелік құрал)



бет21/22
Дата15.04.2023
өлшемі318.13 Kb.
#472283
түріПрограмма
1   ...   14   15   16   17   18   19   20   21   22
Бөрібаев, Муратова Python тілі негіздері

__call__әдісі


_call__ – класс данасын шақырған кезде іске қосылады. Мысалға қарайық: class A: def__call__(self, z): return z * z a = A() print(a(8))
Нәтижесі:
64
__str__ әдісі Келесі арнайы әдіс – бұл __str__ әдісі. Оны класс данасын жол түрінде жазу қажет болғанда қолданамыз. class A:
def__str__(self):
return "z*6" a = A() print(a)
Нәтижесі:
z*6
Super әдісі Python тілінде әдетте объектілерге қолданылатын super() әдісі бар. Оның негізгі міндеті – мұрагер класта ата-ана класының әдістерін пайдалану мүмкіндігі.
Келесі мысал толық емес, сондықтан орындалмайды, дегенмен де оны көрсете кету керек: class A: def__init__(self):
print(u'A класының конструкторы')
# A класының мұрагері class B(A): def__init__(self):
print(u'B класының конструкторы')
super(B, self).__init__() a = B()
Нәтижесі:
В класының конструкторы
ReferenceError: $$super is not defined

Статикалық әдістер


Класс данасын құрмай-ақ класс ішінде қолжетімді болатын әдісті құруға болады. Ол үшін класс ішінде әдісті анықтамастан бұрын @staticmethod декораторын көрсету керек. class A:
@staticmethod def mymethod(a, b):
return a + b print(A.mymethod(12, 13))
Нәтижесі:
25
Құжатқа қолжетімді болу үшін __doc__ арнайы әдісі қарастырылған. Python интерпретаторы кластың немесе функцияның бастапқы кодын өңдеген кезде құжаттау жолдарын табады да, оларды берілген объектінің __doc__ атрибутының мәні етеді. Мысал жұмыс істемейді, бірақ сонда да үлгісін көрсетейік:
class A:
"'Бұл класты құжаттау жолдары.
Ол үш рет біреулік тырнақшаға алынған'" def test(self):
""" Бұл test әдісін құжаттау""" pass print(A.__doc__) print(A.test.__doc__)
AttributeError: 'А' class has no attribute '__doc__'

Декораторлар


Декоратор дегеніміз – функция немесе кластың тәртібін өзгерту тәсілі. Бұл Python тілінің ең бір түсініксіз тақырыбы әрі онымен жұмыс істеу де өте күрделі. @staticmethod атты декоратормен статикалық әдісте кездестік.
def simpledecorator(fn): def decorate():
print("Орындауға дейін") print(fn())
ргіпІ("Орындаудан кейін") return decorate
@simple_decorator def test1():
return "test1() орындау"
test1()
Нәтижесі:
Орындауға дейін
Test1() орындау Орындаудан кейін


Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   22




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет