def fnkTest(): # fonksiyon tanımlama
print("Merhaba")
fnkTest() # fonksiyon çağırma
for i in range(10):
fnkTest() # for içinde fonksiyon çağırma. for her döndüğünde fnkTest() fonksiyonunu çağıracaktır.
Örnek 1 – Toplama İşlemi :
a = 10
b = 15
def fnkToplama():
print(a+b)
fnkToplama()
Fonksiyonlarda değer döndürme – return kodu
a = 10
b = 15
def fnkCarpma():
return a*b # a ve değişkenlerini çarpar ve fonksiyonun çağırıldığı yere sonucu gönderir.
sonuc = fnkCarpma() # değer döndüren fonksiyonları bir değişkene eşitleyebiliriz.
print(sonuc)
Örnek 2 – Yaş Hesaplama :
dogumYili = int(input("Doğum yılınızı giriniz: "))
def fnkYasHesapla():
import datetime # Güncel tarihi ve saati elde etmek için kullanılan kütüphane.
return datetime.datetime.now().year - dogumYili
yas = fnkYasHesapla()
print(yas)
Fonksiyonlara parametre gönderme
def fnkBolme(a,b): # Fonksiyona gönderilen parametreler a ve b değişkenlerine atanır.
return a/b
bolme = fnkBolme(20,10) # Fonksiyonun çağırıldığı yerde fonksiyona parametre olarak 20 ve 10 sayılarını gönderiyoruz.
print(bolme)
Fonksiyonlara gönderilen parametrelerde varsayılan değer
def fnkSelamlama(isim,mesaj = "Hoşgeldin"): # fnkSelamlama fonksiyonu iki parametre almaktadır.
return f"{mesaj} {isim}"
print(fnkSelamlama("Ercüment")) # fonksiyona ikinci parametre gönderilmediğinde, mesaj değişkenine "Hoşgeldin" değeri atanır.
print(fnkSelamlama("Ercüment","Günaydın")) # fonksiyona ikinci parametre gönderilirse gönderilen değer mesaj değişkenine atanır.
Örnek 3 – Dairenin Alanını Hesaplama :
Aşağıda fnkDaireninAlani() fonksiyonunda pi değişkeninin değeri 3 olarak atanmış. Fonksiyon çağırıldığında ikinci parametre gönderilmezse pi değeri 3 alınır. Eğer ikinci parametre gönderilirse pi değişkenine gönderilen değer atanır.
def fnkDaireninAlani(r,pi = 3):
return r*r*pi
yaricap = int(input("Dairenin yarıçapını giriniz: "))
print(fnkDaireninAlani(yaricap)) # İkinci parametre gönderilmediği için yukarıda pi değeri 3 alınır.
print(fnkDaireninAlani(yaricap,3.14)) # İkinci parametre gönderildiği için yukarıda pi değeri 3.14 alınır.
Fonksiyonlarda keywords arguments
def fnkIsimSoyisim(isim,soyisim):
return f"{isim} {soyisim}"
isimSoyisim = fnkIsimSoyisim("Ercüment","Şenlik")
# Gönderilen parametrelerin sırası fonksiyona gönderildiği sıra ile isim ve soyisim değişkenine atanır.
print(isimSoyisim)
isimSoyisim = fnkIsimSoyisim(soyisim = "Şenlik",isim="Ercüment")
# Gönderilen parametrelerin sırasını değişken isimlerini belirterek değiştirebiliriz.
print(isimSoyisim)
Fonksiyonlarda değişken sayıda parametre gönderme – *args (Non-Keyword Arguments)
def fnkHesaplama(*args):
print(type(args)) # Gönderilen parametrelerin hangi veri tipinde alınğını ekrana yazar. Alınan veriler tuple liste olarak alınır.
print(args) # Gönderilen parametreleri ekrana yazar.
topla = 0
for i in args: # Gönderilen parametreleri for döngüsü içinde topluyor.
topla = topla + i
return topla # Toplama sonucu fonksiyonun çağrıldığı yere gönderir.
sonuc = fnkHesaplama(10,15) # Fonksiyonu çağırır ve iki parametre gönderir.
print(sonuc)
sonuc = fnkHesaplama(10,15,25) # Fonksiyonu çağırır ve üç parametre gönderir.
print(sonuc)
sonuc = fnkHesaplama(10,15,25,35) # Fonksiyonu çağırır ve dört parametre gönderir.
print(sonuc)
Fonksiyonlarda değişken sayıda parametre gönderme – **kwargs (Keyword Arguments)
def fnkLogin(**kwargs):
print(type(kwargs)) # Gönderilen parametrelerin hangi veri tipinde alınğını ekrana yazar. Alınan veriler dict liste olarak alınır.
print(kwargs) # Gönderilen parametreleri ekrana yazar.
for key,value in kwargs.items():
print(key,value)
fnkLogin(kullaniciAdi = "admin") # Fonksyionu çağırır ve bir adet parametreyi key-value şeklinde gönderir.
print("---------")
fnkLogin(kullaniciAdi = "admin",sifre="12345") # Fonksyionu çağırır ve iki adet parametreyi key-value şeklinde gönderir.