Python Fonsiyonlar

Fonksiyonlar, sadece çağırıldıklarında çalışan kod parçalarıdır. Veri döndürebilirler.Fonksiyonları çalıştırırken değişkenleri fonksiyona iletebilirsiniz. Biz bunlara parametre diyeceğiz.

Python Fonsiyonlar

Python Fonsiyonlar

Bir Fonksiyon Yaratmak

Python'da fonksiyon yaratırken def kodu kullanılır.
 

def fonksiyonum():
  print("Bir fonksiyondan merhaba!")

Örnekte görüldüğü gibi def ifadesinden sonra fonksiyonun adına yer verilir (fonksiyonum). Parantez açılır, varsa parametreler yazılır ve parantez kapatılır. Ardından iki nokta koyularak fonksiyon çağırıldığında çalışması istenen kodlar yazılmaya başlanır.
 

Bir Fonksiyonu Çağırmak

Fonksiyonu çalıştırmak için fonksiyonun adını yazın, ardından parantez açıp kapatın.
 

def fonksiyonum():
  print("Bir fonksiyondan merhaba!")

fonksiyonum()
Parametreler (Argümanlar)

Fonksiyonlara bilgi parametreler vasıtasıyla iletilir.

Parametre, fonksiyon adından sonra parantez içinde belirtilir. Birden fazla parametre kullanılabilir. Bunlar virgül (,) ile ayrılır.

Aşağıdaki örnekte tek parametreli bir fonksiyon oluşturuldu. Fonksiyon çağırıldığı zaman, veri bu parametre sayesinde fonksiyona iletilecek.
 

def fonksiyonum(isim):
  print("Adınız: " + isim)

fonksiyonum("Murat")
fonksiyonum("Yasemin")

Örnek incelenirse, fonksiyon çağırırken parantez içinde "Murat" ifadesi kullandık. Bu veri fonksiyona "isim" adlı bir değişken olarak aktarıldı.
 

Parametre Sayısı

Fonksiyonu oluştururken kaç parametre taşıyabileceği belirtilir. Fonksiyon çağırılırken bu sayıda parametre olması beklenir. Örneğin, fonksiyon iki parametre ile oluşturulduysa, çağırırken sadece iki parametre yazabiliriz demektir.
 

def fonksiyonum(ad, soyad):
  print("Adınız: " + ad + ", Soyadınız: " + soyad)

fonksiyonum("Murat", "Eliçalışkan")

Yukarıdaki örnekte iki değil de üç parametre yazsaydık, derleyici hata verirdi.
 

Değişken Sayıda Parametre Alabilen Fonksiyonlar

Fonksiyonun kaç parametre alacağı ile ilgili kesin bir bilgi yoksa, bir veya daha fazla sayıda veriyi parametreden önce yıldız (*) koyarak almasını sağlayabilirsiniz. Bu şekilde fonksiyona iletilen bilgi tuple türünde bir dize olacaktır.
 

def fonksiyonum(*cocuklar):
  print("En genç çocuk: " + cocuklar[2])

fonksiyonum("Yağmur", "Mert", "Gamze")
Parametre Anahtarları Kullanmak

Parametreleri, anahtar = değer şeklinde bir yapı ile göndermeniz mümkün. Bu durumda parametre sırası önemsizdir.
 

def fonksiyonum(cocuk3, cocuk2, cocuk1):
  print("En genç çocuk: " + cocuk3)

fonksiyonum(cocuk1 = "Yağmur", cocuk2 = "Mert", cocuk3 = "Gamze")
İsteğe Bağlı Parametre Alan Fonksiyonlar

Bazen fonksiyonlara istenilen isim ve değerde değişken göndermek gerekebilir. Bunun için anahtar = değer yapısında değişkenler kabul eden fonksiyonlar yazılabilir. Yapılması gereken fonksiyon parametresinde değişkenin önüne iki yıldız (**) eklemektir:
 

def my_function(**cocuk):
  print("Soyadı " + cocuk["soyad"])

my_function(ad = "Tobias", soyad = "Smith")
Varsayılan Parametre Değeri Belirtmek

Parametre gerektiren bir fonksiyonda parametre kullanılmadığı zaman geçerli olacak parametre değerini = değer şeklinde yazarak belirtebiliriz.
 

def nereden(ulke = "Türkiye"):
  print("Nereden: " + ulke)

nereden("İsveç")
nereden("Hindistan")
nereden()
nereden("Brezilya")
Fonksiyona Parametre Olarak Bir Liste Göndermek

Metin, sayı, liste, sözlük vb. her türlü değişken parametre olarak talep edilebilir ve gönderilebilir. Örneğin bir listeyi (list) parametre olarak gönderirseniz, fonksiyon içine de o türde geçecektir:

def meyveler(food):
  for x in food:
    print(x)

meyveIsimleri = ["elma", "muz", "kiraz"]

meyveler(meyveIsimleri)
   
Fonksiyondan Değer Döndürmek

Fonksiyonların çalıştıktan sonra bir değer döndürmesini return ifadesini kullanarak sağlayabiliriz.

def fonksiyonum(x):
  return 5 * x

print(fonksiyonum(3))
print(fonksiyonum(5))
print(fonksiyonum(9))
   
Fonksiyondan Birden fazla Değer Döndürmek
#Fonksiyondan birden fazla değer döndürmek
def Indirimci(Fiyat, Indirim=5, Kdv=20):
    IndirimOrani = Fiyat * Indirim / 100
   
    IndirimliFiyat = Fiyat-IndirimOrani
    KdvliFiyat = IndirimliFiyat + (IndirimliFiyat * Kdv /100)
   
    return {"IO":IndirimOrani, "IF":IndirimliFiyat, "KF":KdvliFiyat}
  
Fiyat=300

FiyatListesi = Indirimci(Fiyat)

print(f"Fiyatı {Fiyat} TL olan ürünün İndirim Miktarı ", FiyatListesi["IO"], " İndirimli Fiyatı ", FiyatListesi["IF"], " Kdvli Fiyatı ", FiyatListesi['KF'])

 

pass İfadesi

Fonksiyonlar boş olamaz. En az bir satırlık kod içermelidir. Herhangi bir değer döndürmüyorsa pass kullanılmalıdır.

def fonksiyonum():
  pass
   
Fonksiyon İçinde Kendisini Çağırmak

Python'da fonksiyonlar kendisini çalıştırabilir (recursion). Özellikle matematikte önemli bir yeri olan bu şekilde kullanımlarda dikkatli olmak lazım. Çünkü hata yapılırsa sonsuz döngüler oluşabilir ve bu da programın hem çalışmamasına hem de işlemciyi yormasına neden olur.

def topla(k):
  if(k > 0):
    result = k + topla(k - 1)
    print(result)
  else:
    result = 0
  return result

topla(6)
   

Yukarıdaki örnek çalıştırıldığı zaman belirtilen parametredeki sayıyı, bir küçük sayı ile toplar ve bu süreci k 0'dan büyük olduğu sürece yapar. Son yazan sonuç, o sayıya kadar olan sayıların toplamıdır.

def Bolucu(Sayi):
    YeniSayi = Sayi //2
    print(YeniSayi)
   
    if(YeniSayi > 0):
        Bolucu(YeniSayi)
   

sayi = int(input("sayi giriniz"))

Bolucu(sayi)

 

Başka bir örnek faktöriyel hesabıdır. Aşağıdaki fonksiyonda belirtilen sayı 1 oluncaya kadar çarpılır ve sonuç ekrana yazdırılır.

def faktoriyel(n):  
   if n == 1:  
       return n  
   else:  
       return n*faktoriyel(n-1)  

print(faktoriyel(4))
   

 

 Örnek 1
def ortalama_hesapla(sinav1,sinav2,sozlu):
   ortalama = (sinav1+sinav2+sozlu)/3.0 # ortalama hesaplanması
   print(ortalama) # ortalamanin yazdirilmasi

 

def ortalama_hesapla(sinav1,sinav2,sozlu):
   ortalama = (sinav1+sinav2+sozlu)/3.0 # ortalama hesaplanması
   return ortalama # ortalamanin geriye değer olarak döndürülmesi

   

Örnek 2
def ortalama_hesapla(sinav1,sinav2,sozlu):
   ortalama = (sinav1+sinav2+sozlu)/3.0 # ortalama hesaplanması
   return ortalama # ortalamanin geriye değer olarak döndürülmesi
 
if (ortalama_hesapla(35,60,40) < 50):
   print("Dersten kaldı")
else:
   print("Geçti"

 

Örnek 3
#Fonksiyon Çeşitleri main.py
from ek import * #Ek dosyadan fonksiyon cagirma

EkranaYaz() #Parametresiz, geriye deger göndermeyen

EkranaYaz2(3) #Parametreli, geriye deger göndermeyen

A=RastGeleSayi() #Parametresiz, geriye deger gönderen
print(A)

B=RastGeleSayi2(10) #Parametreli, geriye deger gönderen
print(B)

   

#ek.py

def EkranaYaz(): #Parametresiz, geriye deger göndermeyen
  print("Aykut")

def EkranaYaz2(Adet): #Parametli, geriye deger göndermeyen
  for i in range(Adet):
    print("Halil")

def RastGeleSayi(): #Parametresiz, geriye deger gönderen
  return random.randint(1,100) #cagirildigi yere return önündeki değeri yollar

def RastGeleSayi2(EnBuyuk): #Parametresiz, geriye deger gönderen
  return random.randint(1,EnBuyuk) #cagirildigi yere return önündeki değeri yollar

 

Kaynak

 

Yorumunuzu Ekleyin
Yükleniyor...
Yükleniyor...