Menü Kapat

Pythonda müxtəlif kodlar yazarkən artıq müxtəlif funksiyalardan istifadə etmişik. Məsələn len(), print(), input(), str(), int() və s. kimi funksiyalardan istifadə etmişik. len() vasitəsilə sözün, çoxluğun, lüğətin uzunluğunu tapmaq olar. print() vasitəsilə istədiyimiz informasiyanı çıxışa vermək, input() vasitəsilə informasiyanı koda əlavə etmək, str()int() vasitəsilə bir tipi digər tipə çevirmək olar. Biz bu funksiyaları yazarkən onlara müəyyən parametr verirdik.  len() funskiyasının iş prinsipini izah edən funksiya yazaq:

  • def len(s):
  •     d=0
  •     for i in s:
  •         d+=1
  •     print(d)
  • len(‘python’)

Burada len() funksiyasının iş prinsipi izah olunmuşdur. Funskiyanı yazdığımızı elan etmək üçün def yazırıq sonra funksiyamızın adını qeyd edirik və bizim funksiyamızın adı len-dir. Sonra isə mötərizədə funskiyanın parametrləri qeyd edilir. Lakin bu, parametrlərin tipləri üst-üstə düşməlidir. Belə ki, biz str() tipində olan arqument təyin etdik və ona str tipində söz ötürdük. Sonra isə d parametri təyin etdik və sözdəki hərflərin sayı qədər üzərinə 1 əlavə etdik.  Daha sonra  print vasitəsilə onu çıxışa verdik. Əgər biz kodun daxilində funksiyanı çağırmasaq onda çıxışa heç nə verilməyəcək:

  • def len(s):
  •     d=0
  •     for i in s:
  •         d+=1
  •     print(d)

yazsaq print olmasına baxmayaraq funskiyanın daxilində olduğu üçün çıxışa heç nə verilmir

  • def len(s):
  •     d=0
  •     for i in s:
  •         d+=1
  •     return(d)
  • print(len(‘python’))

kimi də yaza bilərik belə ki, burda funksiya daxilində çıxışa heç nə verilməyəcək, çünki return parametri vasitəsilə qiymət qaytarılacaq,  ancaq print vasitəsilə qiymət çıxışa veriləcək

Funksiyaya parametr ötürməmək də mümkündür

  • def word():
  •     print(‘hello world’)
  • word()

kimi yazsaq parametr ötürmədən də funksiyanı çağırıb çıxışa məlumat verə bilərik. Funksiyaya bir deyil bir neçə parametr ötürmək olar:

  • def word(x,y):
  •     print(x**y)
  • a=int(input(ədədi daxil edin))
  • b=int(input(hansı qüvvəti istədiyinizi daxil edin))
  • word(a.b)

Burada verilən ədədin istənilən qüvvətini tapmaq üçün funksiya yazdıq və burada funskiyaya 2 parametr ötürmək lazım gəldi.  Funksiyaya ötürəcəyimiz parametrin sayını əvvəlcədən bilməsək də olar bunun üçün:

  • def fun(*parametr):
  •     for d in parametr:
  •         print(d)
  • fun(‘first’,’second’)

burada parametrin əvvəlində * işarəsindən istifadə etməklə parametrlərin sayını dəqiq bilmədiyimizi bildirdik. Sonra isə əsas kodda 2 parametr yazdıq və onlar çıxışa verildi.

Funksiyalarda lokal və qlobal dəyişən anlayışı da mövcuddur Qlobal dəyişən dedikdə verilən kodun istənilən hissəsindən bu dəyişən tanına bilir, amma lokal dəyişənə  kodun yalnızca bir hissəsində ,yəni hansısa funksiyanın daxilində müraciət oluna bilir

  • def fun():
  •     print(x)
  • x=6
  • fun()

burada x-ın funksiyadan kənarda verilməsinə baxmayaraq qlobal olaraq funksiyadan kənarda təyin olunduqda artıq qlobal dəyişən olur və onu funksiyanın daxilində də istifadə etmək olur

  • def fun():
  •     x=6
  •     print(x)
  • fun()
  • print(x)

yazdıqda isə xəta yaranacaqdır onun səbəbi isə funksiya daxilində verilən x-in lokal olduğu üçün kənarda istifadəsinin mümkün olmamasıdır. Əgər funksiyadan kənarda da bu dəyişəndən istifadə etmək istəyiriksə onda:

  • def fun():
  •     global x
  •     x=6
  •     print(x)
  • fun()
  • print(x)

şəklində yazmalıyıq yəni x-i qlobal olaraq təyin etməliyik

return() funksiya daxilindəki əməliyyatların qiymətini qaytarmaq üçün istifadə olunur. Lakin return-dan sonrakı əməliyyatlar artıq icra olunmur. məsələn:

  • def fun(x):
  •     x+=1
  •     return x
  •     print(‘hello world’)
  • print(fun(5))

yazsaq çıxışa 6 veriləcək, amma hello world çıxışa verilməyəcək səbəbi də return-dan sonrakı funksiya daxilindəki əməliyyatların icra olunmamasıdır