Funksiya nədir?

Coders Azerbaijan
4 min readAug 16, 2021

Funksiya, riyaziyyatda rəqəmləri input olaraq qəbul edib, bu rəqəmlərdən bir output yaradan qanunlardır. Proqramlama dillərində isə, bir funksiya daxil edilən parametrlərə uyğun olaraq, həmin funksiyanın kod bloku içində olan əməlləri edərək geri bir cavab qaytarır.

Burada, def(definition) “yarat”, deyərək bir funksiya yazacağımızı deyirik.

Daha sonra funksiyaya bir ad veririk.Funksiyaya veriləcək adın, kodun işləməsi baxımından heç bir fərqi yoxdur. Lakin funksiyaya məntiqi adlar vermək daha məqsədə uyğun olar.

Funksiyanın işləməsi üçün onu çağırmalıyıq(funksiyalar çağrılmadan işləmir):

Parametr anlayışı:

a və b isə parametrlər adlanır. Biz bu funksiyanı çağırarkən bu parametrlərə istədiyimiz dəyərləri göndərə bilərik. Aşağıdakı nümunəyə baxaq:

Funksiya yaradırıq, ad veririk, mötərizə içərisində parametr veririk (istədiyimiz adda və sayda parametr verə bilərik). Funksiya isə a + b cəmini print funksiyası köməyi ilə ekrana yazır.

Geriyə dəyər qaytaran (return):

Əgər bir funksiyanın nəticəsini sadəcə print edəcəyiksə, bu halda return yerinə birbaşa print edə bilərik, ancaq niyyətimiz bu funksiyadan bir dəyər döndərmək və bu dəyəri başqa yerdə istifadə etməkdirsə, bu halda return’dən istifadə edirik.

Bu iki funksiyada alqoritmik ardıcıllıq baxımından heç bir fərq yoxdur. Sadəcə return daha sonra istifadə etməyimiz üçün dəyər döndərərkən print dəyəri birbaşa ekrana yazır.

Bəs funksiyalar həyatımızda olmasaydı?

Funksiyasız, bu tərzdə eyni cavabı ala bilərik. Ancaq bir-iki sətir deyil, onlarca, yüzlərcə sətrlik bir kodu funksiyasız yazdığınızı düşünün. Bu halda, əgər ikinci dəfə başqa parametrlər ile eyni nəticəni almaq istəsəniz, gərək yazdığınız qədər kodu yenidən yazasınız. Kod, funksiya formasında olanda isə sadəcə parametrləri göndərərək funksiyanı işə sala və eyni nəticəni ala bilərsiz.

Gördüyünüz kimi,funksiyalar,bir kod blokundan bir neçə dəfə istifadə edəcəyiksə,yardımımıza çatır. Əks təqdirdə:

• Eyni kodu kopyalayıb yapışdırmağımıza

• Yazdığımız proyektin optimallığının azalmasına

• Kodun səliqəsiz və struktursuz görsənməsinə

Və.s problemlərə gətirib çıxarır.

İlkin dəyər (Default value):

Default value, bir funksiyadakı parametrlərə öncədən dəyər təyin etmək anlamına gəlir. Örnək olaraq təyin etdiyimiz funksiya 3 dəyər(arqument) alsın( a , b , c ). Əgər bu funksiyanın tələb etdiyindən az dəyər göndərsək, məsələn 3 yox 2 parametr göndərsək, kod bloku xəta verər.

Əgər dilimizə tərcümə etsək. topla() funksiyasının bir tələb olunan arqumenti yoxdur ‘c’

Burada kod editörü, bizim c dəyərini göndərmədiyimizi deyir. Biz bəzən 1,bəzən 2,bəzən 3 dəyər ilə funksiyanı çağırmaq istəyiriksə və eyni zamanda funksiyanın xəta verməməsini istəyiriksə, bu kimi vaxtlarda arqumentlərə ilkin dəyər təyin edə bilərik.

Son ilkin dəyər barəsində onu bildirmək istərdim ki , bir arqumentə ilkin dəyər verilibsə o arqument sonda yazılmalıdır. Bu şərtdə məsələn c yox b üçün ilkin arqument təyin etmək istəsəydik gərək a, c, b = 2 kimi yazaq.

Eyni zamanda birdən çox arqumentə ilkin dəyər verə bilərik sadəcə tək qayda odur ki, ilkin dəyəri olan arqument, ilkin dəyəri olmayan arqumentdən əvvəl yazıla bilməz.

Bunun səbəbi nədir?

a = 2, b , c tərzində yazdıq deyək. a nın dəyərin göndərmədik ‘onsuzda ilkin dəyəri var, xəta verməyəcək’ deyə düşündük. Lakin biz (3,5) deyə funksiyanı cağırarkən:

Növbə ilə a ya 3 b yə isə 5 dəyərini verir. Beləcə c nin yeri boş qalır və funksiya xəta verir.

Ilkin dəyəri olan arqumenti , ilkin dəyəri olmayan arqument izləyir.

--

--