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


def  printMax(a, b):  if



Pdf көрінісі
бет15/26
Дата01.02.2023
өлшемі1,76 Mb.
#167044
түріПрограмма
1   ...   11   12   13   14   15   16   17   18   ...   26
Байланысты:
Бөрібаев, Муратова Python тілі негіздері

def 
printMax(a, b): 
if 
a > b: 
print(a, 'максималды') 
elif 
a==b: 
print(a, 'тең', b) 
else

print(b, 'максималды') 
printMax(3,4)
# мәндерді тікелей меншіктеу 
x = 5 
y = 7 
printMax(y, x)
# айнымалыларды аргумент ретінде беру
Нәтижесі:
$ python func_param.py
4 максималды
7 максималды
Осы программаның жұмыс істеу жолын қарастырайық. Бұл жерде біз 
printMax
деген аты 
бар функцияны анықтадық. Ол а және b деген аты бар екі параметрді пайдаланады. Қарапайым 
if..else операторын қолдана отырып үлкен санды табамыз. 
printMax
функциясын бірінші per 
шақырған кезде біз сандарды аргумент ретінде тікелей береміз. Екінші жағдайда біз айны-
малылары бар функцияны аргумент ретінде шақырамыз. 
printMax(x, у) х
аргументінің мәнін 
а
параметріне меншіктейді, ал у аргументінің мәнін b параметріне меншіктейді. Екі жағдайда да 
printMax функциясы бірдей жұмыс істейді.
Айнымалыларды функция ішінде жариялаған кезде олар функцияның сыртындағы басқа 
айнымалылармен ешқандай байланыста болмайды, ягни айнымалылардың аты функция 
ішінде локальді болып табылады. Мұны айнымалының көріну аймағы деп атайды. Барлық 
айнымалылардың көріну аймағы өздері жарияланған блокпен шектеледі және атын атаудан 
басталады. Мысалы:
х = 50 
def
 
func(x): 
print(
'x = '
, x) 
x = 2 
print('Локальді х-ті ауыстыру', x) 
func(x) 
print('x бұрынғыша', x)
Нәтижесі:
$ python func local.py
х тең 50 
Локальді х-ті ауыстыру 2
х бұрынғыша 50
Осы программаның жұмыс істеу жолын қарастырсақ, X аты меншіктелген мәнді бірінші 
рет шығарғанда, функцияның бірінші жолында Python функцияны аныктаудан жоғарыдағы, 


16 
негізгі блокта жарияланған параметрдің мәнін пайдаланады. Одан кейін біз х-ке 2 мәнін 
меншіктейміз. Олардың аты біздің функциямыз үшін локальді болып табылады. Функцияның 
ішіндегі х мәнін ауыстырған кезде негізгі блокта жарияланған х өзгеріссіз қалады. Print 
арқылы функцияны соңғы шақырған кезде біз негізгі блокта көрсетілген х-тің мәнін 
шығарамыз. Локальді өзгеріс кезінде өзгермей, ол алдыңғы шақырылған функциядағы мәнін-
де қалғанын осылай дәлелдейміз.
Локальді функцияның кейбір ерекшеліктеріне мән беру керек:
локальді айнымалылар тек қана функция денесінің ішінде ғана өмір сүреді. Функцияның 
сыртындағы программалық код оған жете алмайды; егер глобальді функциянікімен бірдей 
локальді функцияның аты айтылмаған болса, онда, функция денесінде бола тұрып 
функция денесіің сыртында жарияланған айнымалыларға қол жеткізе аламыз; егер біз 
жариялаған локальді айнымалы аты глобальді айнымалы атымен бірдей болып шықса, 
онда локальді айнымалы глобальді айнымалыны жасырып көрсетпей қояды.
COSTANT = 2
def sometime (n1, n2):
a = n1 * COSTANT
b = n2 / COSTANT
return a, b
Осында біз COSTANT глобальді айнымалысын және а және b айнымалылары бар 
sometime
функциясын жарияладық. Функция денесінде болған кезде де біз глобальді 
айнымалыға бара аламыз және жаңа мәнін жаза аламыз:
def otherfime (n1, n2):
COSTANT = 3
a = n1 * COSTANT
b = n2 / COSTANT
return a, b
функцияның кейбір параметріне үнсіз келісім бойынша мән бере аламыз. Параметр осы мәнге 
функцияны шақырған кезде көрсетілмеген болған жагдайда ие болады. Үнсіз келісім бойынша 
берілетін 
мән = белгісі
көмегімен жазылып көрсетіледі. Мысалы:
def sometime (n1, n2 = 3) :
return n1 * 2, n2 / 2
Мұның синтаксисі айнымалыны жариялағанға ұқсайды. Егер енді функцияның екінші 
параметрін көрсетпей шақыратын болсақ, ол үнсіз келісім бойынша берілетін мәнге ие 
болады:
somefunc (4) 
Үнсіз келісім бойынша берілетін мән ондай мән жоқ параметрден кейін жазылады. Оны 
орындамаған жағдайда қателік туралы хабарлама пайда болады. Мысалы:
def somefunc (n2 = 3, n1):
return n1 * 2, n2 / 2
Бұл программа орындалмайды.
Атаулы параметрлерді қолдану өте ыңғайлы – олардың атын және үнсіз келісім бойынша 
берілетін мәнді жаттап алу жеткілікті.
Операторлармен бірге өрнектерде мәндерге күрделі амалдар орындайтын функциялар 
белсенді түрде қолданылады. 
Round
функциясы санды дөңгелектеу қызметін орындайды.
Егер 
round
(1. в) • деп көрсетсек, 
жүзіп жүретін 
нүктеге дейін санды дөңгелектейді.


17 
Функцияның екі ерекшелігі бар. Біріншіден, функция өңдейтін мәндер функциядан кейін 
жақшаның ішіне жазылады. Параметрлері бірнешеу болса, олар үтірмен ажыратылады: 
Somefunction (1,2, 345)
Мұнда гипотетикалық функцияға бірден үш мәнді жүктедік. Кейбір функцияларда пара-
метрлердің аты да жазылады:
Otherfunction (arg1 = 10, arg2 = 20).
Мұнда екі параметрдің де аты берілген.
Екіншіден, операторлар бір нәтиже беретін болса, функциялар бірнеше нәтиже беруі 
мүмкін. Оның пайдасы да бар.
Функцияларды деректер қорындағы қайталанатын есептеулер үшін қолданғанда, жоға-
рыда аталған ерекшеліктеріне мән берген жөн. 


Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   26




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

    Басты бет