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).
Мұнда екі параметрдің де аты берілген.
Екіншіден, операторлар бір нәтиже беретін болса, функциялар бірнеше нәтиже беруі
мүмкін. Оның пайдасы да бар.
Функцияларды деректер қорындағы қайталанатын есептеулер үшін
қолданғанда, жоға-
рыда аталған ерекшеліктеріне мән берген жөн.
Достарыңызбен бөлісу: