Fonksiyonlar, belirli bir görevi yerine getiren, yeniden kullanılabilir kod bloklarıdır. Python’da fonksiyonlar, programlamada kodunuzu daha düzenli, okunabilir ve modüler hale getirmenizi sağlar. Fonksiyonlar, def
anahtar kelimesi kullanılarak tanımlanır ve ihtiyaç duyduğunuzda çağrılabilir.
1. Fonksiyon Tanımlama ve Çağırma
Fonksiyonlar, def
anahtar kelimesi ile tanımlanır, ardından fonksiyonun adı ve parantezler gelir. Fonksiyon tanımının ardından gelen kod bloğu, fonksiyonun gövdesini oluşturur ve bu gövde, fonksiyon çağrıldığında çalıştırılır.
a. Basit Fonksiyon Tanımlama
def selamla():
print("Merhaba!")
Bu, selamla
adında bir fonksiyon tanımlar. Fonksiyon çağrıldığında, “Merhaba!” mesajını yazdırır.
b. Fonksiyon Çağırma
Fonksiyon tanımlandıktan sonra, fonksiyonun adı ve parantezler kullanılarak çağrılabilir.
selamla() # "Merhaba!" yazdırır
2. Parametre Alan Fonksiyonlar
Fonksiyonlar, dışarıdan değer alabilir ve bu değerlerle işlemler yapabilir. Bu değerlere parametre denir. Fonksiyon parametre alıyorsa, fonksiyon tanımındaki parantezler içinde parametreler belirtilir.
a. Parametreli Fonksiyon Tanımlama
def selamla(isim):
print(f"Merhaba, {isim}!")
Bu fonksiyon, isim
adında bir parametre alır ve verilen isme göre kişiyi selamlar.
b. Parametreli Fonksiyon Çağırma
selamla("Ali") # "Merhaba, Ali!" yazdırır
selamla("Ayşe") # "Merhaba, Ayşe!" yazdırır
3. Geriye Değer Döndüren Fonksiyonlar
Bir fonksiyon, hesapladığı veya işlediği bir değeri geri döndürebilir. Bu değeri döndürmek için return
ifadesi kullanılır.
a. return
İfadesi ile Fonksiyon Tanımlama
def topla(a, b):
return a + b
Bu fonksiyon, verilen iki sayıyı toplar ve sonucu geri döndürür.
b. Değeri Kullanma
Fonksiyonun döndürdüğü değeri kullanmak için, fonksiyon çağrısının sonucunu bir değişkene atayabilirsiniz veya doğrudan kullanabilirsiniz.
sonuc = topla(3, 5)
print(sonuc) # 8 yazdırır
4. Varsayılan Parametreler
Fonksiyonlarda, parametrelere varsayılan değerler atanabilir. Bu, fonksiyon çağrılırken o parametreye bir değer verilmezse varsayılan değerin kullanılması anlamına gelir.
a. Varsayılan Parametreli Fonksiyon Tanımlama
def selamla(isim="Dünya"):
print(f"Merhaba, {isim}!")
b. Varsayılan Parametre Kullanımı
Fonksiyon çağrılırken parametre belirtilmezse varsayılan değer kullanılır.
selamla() # "Merhaba, Dünya!" yazdırır
selamla("Ali") # "Merhaba, Ali!" yazdırır
5. Esnek Parametreler
Python, bir fonksiyona bilinmeyen sayıda argüman geçirmeyi sağlayan esnek parametrelerle çalışabilir. Bu, fonksiyonların daha genel ve esnek olmasını sağlar.
a. *args
Kullanımı
*args
, bir fonksiyona değişken sayıda pozisyonel argüman geçmenizi sağlar. args
, bir tuple olarak alınır.
def topla(*sayilar):
toplam = 0
for sayi in sayilar:
toplam += sayi
return toplam
sonuc = topla(1, 2, 3, 4, 5)
print(sonuc) # 15 yazdırır
b. **kwargs
Kullanımı
**kwargs
, bir fonksiyona değişken sayıda anahtar-değer çiftleri (keyword arguments) geçmenizi sağlar. kwargs
, bir dictionary olarak alınır.
def bilgiler(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
bilgiler(isim="Ali", yas=25, meslek="Mühendis")
Bu örnek, fonksiyona geçirilen anahtar-değer çiftlerini yazdırır.
6. Lambda Fonksiyonları
Lambda fonksiyonları, tek satırlık, küçük ve anonim (isimsiz) fonksiyonlardır. Lambda fonksiyonları, lambda
anahtar kelimesi ile tanımlanır ve genellikle basit bir fonksiyon tanımı gerektiren yerlerde kullanılır.
a. Lambda Fonksiyon Tanımlama
topla = lambda a, b: a + b
print(topla(3, 5)) # 8 yazdırır
Bu örnekte, topla
adında bir lambda fonksiyonu tanımlanır ve bu fonksiyon iki sayıyı toplar.
b. Lambda Fonksiyonlarını Kullanma
Lambda fonksiyonları, özellikle map()
, filter()
, ve sorted()
gibi fonksiyonlar ile birlikte kullanışlıdır.
sayilar = [1, 2, 3, 4, 5]
karesi = list(map(lambda x: x**2, sayilar))
print(karesi) # [1, 4, 9, 16, 25]
Fonksiyonlar, Python’da kodunuzu daha modüler, okunabilir ve yeniden kullanılabilir hale getirmenizi sağlar. Parametreler ve return
ifadeleri ile fonksiyonlarınızı esnek ve güçlü hale getirebilir, varsayılan ve esnek parametreler kullanarak daha genel fonksiyonlar oluşturabilirsiniz. Lambda fonksiyonları, kısa ve öz fonksiyon tanımları yapmanızı sağlar. Fonksiyonlar, Python programlamanın temel yapı taşlarından biridir ve etkili kullanıldığında yazılım geliştirme sürecinde büyük avantajlar sağlar.
Bir yanıt yazın