Python funksiyaları

Bu yazıda Python funksiyalarını müzakirə edəcəyik.

Funksiya nədir

Hər hansı bir proqramlaşdırma dilində bir funksiya aşağıdakı kimi müəyyən edilir:

  • yalnız çağırıldığı zaman yerinə yetirilən blok kodu kimi.
  • giriş qəbul edə bilər.
  • nəticədə nəticəni qaytara bilər.

Python'da bir funksiya yaradın

Python'da, istifadə edərək bir funksiya yaradıla bilər def açar sözdən sonra funksiyanın adı.

def my_function():
  print("Hello")
  • def - öz funksiyasını ifadə edən açar söz.
  • my_function - istənilən ad ola biləcək funksiyanın adı
  • () - arqumentləri (girişləri) funksiyaya ötürə biləcəyimiz yer. Yuxarıdakı funksiyada heç bir arqument keçmirik, buna görə boş bir mötərizə var.
  • Kod, def ind səviyyəsini eyni girinti səviyyəsində izləyən funksiya çağırıldıqda yerinə yetiriləcəkdir.

Yuxarıdakı nümunədə, 'my_function' adlı bir funksiya yaradırıq çap "Salam", funksiya çağırıldıqda.

Python-da bir funksiyaya zəng edin

Yuxarıdakı kodu yerinə yetirsəniz, heç bir şey çap olunmayacaq, çünki biz hələ funksiyaya zəng etmirik. Heç birindən keçmədiyimiz üçün funksiyaya dair arqumentlər, funksiyanı boş mötərizə ilə çağırırıq.

def my_function():
  print("Hello")

my_function()

Arqumentləri Python funksiyasına ötürün

Bəzən arqumentlər adına funksiyaya əlavə məlumat ötürməliyik. Dəlillər mötərizənin içərisində verilir.

def my_function(name):
  print("Hello"+' '+name)

my_function()

Yuxarıda göstərilən funksiya 'ad' adlanan dəyişəni mübahisə olaraq qəbul edir. Bir funksiya giriş parametrlərini qəbul edirsə, funksiyanı çağırarkən bunu da qeyd etməliyik. Başqa bir səhv atacaq. Kodu icra edin və xətanı yoxlayın. Səhvdən başa düşə bilərik ki, funksiyanı çağırarkən 'ad' dəyişkənliyi üçün bir dəyər ötürməliyik.

def my_function(name):
  print("Hello"+' '+name)

my_function("Mary")

Python funksiyasına vergüllə ardınca nə qədər arqument verə bilərik.

def my_function(fname,lname):
  print("Hello"+' '+fname+' '+lname)

my_function("Mary","Smith")

Arqumentlər hər hansı bir məlumat növü ola bilər.

def my_function(l):
  for i in l:
    print(i)
  
my_function([1,2,3,4,5])

Arqumentlərin birləşməsi ola bilər məlumat növləri.

def my_function(fname,lname,l):
  print(fname+' '+lname)
  for i in l:
    print(i)

my_function("Mary","Smith",[1,2,3,4,5])

Python funksiyaları ilə əlaqəli hələ bir neçə şey var.

Pythondakı funksiyadan dəyər qaytarma

Biz bir funksiyanın çıxışını qaytarın istifadə qayıtmaq açar söz.

def my_function(fname,lname): 
  name=fname+' '+lname
  return name

my_function("Mary","Smith")

Yuxarıdakı kod heç bir şey yazdırmayacaq, çünki dəyəri qaytarırıq, amma heç bir yerdə əldə etmirik. Geri qaytarılmış dəyəri əldə etmək üçün aşağıdakılardan istifadə edə bilərik:

Python-da çap funksiyası

def my_function(fname,lname): 
  name=fname+' '+lname
  return name

print(my_function("Mary","Smith"))

Dönüş dəyərinin dəyişənə yazılması

def my_function(fname,lname): 
  name=fname+' '+lname
  return name

output=my_function("Mary","Smith")
print(output)

Qaytarma dəyərini dəyişənə saxlaya və lazım olduğu yerdə istifadə edə bilərik.

Python'da birdən çox dəyər qaytarın

Vergüllə ayrılmış dəyərləri qaytarmaqla bir funksiyadan çoxlu dəyəri qaytara bilərik.

def my_function(l): 
  l.sort()
  smallest_number=l[0]
  largest_number=l[-1]
  return smallest_number,largest_number

smallest_number,largest_number=my_function([7,8,2,11,20])
print(smallest_number,largest_number)

Yuxarıdakı nümunədə siyahını funksiyaya arqument olaraq ötürürük və ən kiçik və ən böyük rəqəmi nəticə olaraq qaytarırıq. Ən kiçik və ən böyük ədədi əldə etmək üçün siyahını artan qaydada sıralayırıq ki, birinci element ən kiçik, sonuncu element isə ən böyük olacaq.

Python-da işin üstünlükləri

Funksiyanın istifadəsinin üstünlüyünü başa düşmək üçün aşağıdakı nümunəni nəzərdən keçirək:

def my_function(l): 
  l.sort()
  smallest_number=l[0]
  largest_number=l[-1]
  print(smallest_number,largest_number)

my_function([7,8,2,11,20])
my_function([9,1,4,2,7])
my_function([50,30,100,20,250])

Bir sözlə, yuxarıdakı funksiyanın siyahını mübahisə olaraq qəbul etdiyini və siyahıda ən kiçik və ən böyüyünü yazdığını deyə bilərik.

Fərqli giriş ilə funksiyanı 3 dəfə çağırırıq. Və çıxış girişə uyğun olaraq çap olunur. Funksiyalar olmadan necə nail ola bilərik?

l1=[7,8,2,11,20])
l2=[9,1,4,2,7])
l3=[50,30,100,20,250]
l1.sort()
smallest_number=l1[0]
largest_number=l1[-1]
print(smallest_number,largest_number)
l2.sort()
smallest_number=l2[0]
largest_number=l2[-1]
print(smallest_number,largest_number)
l3.sort()
smallest_number=l3[0]
largest_number=l3[-1]
print(smallest_number,largest_number)

Yuxarıdakı kodda bir çox təkrarlanan sətir olduğunu və böyük göründüyünü deyə bilərik.

Nə vaxt təkrarlanan bir kod varsa, onu bir funksiya ilə əvəzləyə bilərik və lazım olduğu yerə zəng edə bilərik. Funksiyalardan istifadə etməklə kod kiçik görünür və asan başa düşülür.

References

İstinad1

Python Operatorları

Translate »
1