Yazılıma yeni başlayanlar için Python fonksiyon rehberi
Yazılıma yeni başlayanlar için Python fonksiyon rehberi Python programlama dilinde fonksiyonlar, kod yazmayı kolaylaştıran ve programı daha anlaşılır hale getiren temel yapı taşlarından biridir. Yazılıma yeni başlayanlar için fonksiyonları öğrenmek, kodu modüler, okunabilir ve tekrar kullanılabilir…

Yazılıma yeni başlayanlar için Python fonksiyon rehberi
Python programlama dilinde fonksiyonlar, kod yazmayı kolaylaştıran ve programı daha anlaşılır hale getiren temel yapı taşlarından biridir. Yazılıma yeni başlayanlar için fonksiyonları öğrenmek, kodu modüler, okunabilir ve tekrar kullanılabilir kılmak açısından çok önemlidir. Bu rehberde, Python fonksiyonlarının ne olduğu, nasıl tanımlandığı, kullanıldığı ve farklı özellikleri adım adım anlatılacaktır. Ayrıca, fonksiyonlarla ilgili pratik örnekler ve yeni başlayanların sıkça yaptığı hatalara dair ipuçları da yer alacaktır.
Python fonksiyonu nedir?
Fonksiyon, belirli bir görevi yerine getiren kod bloğudur. Genellikle bir problemi çözmek için birden fazla kez kullanılması gereken işlemler fonksiyon içine alınır. Fonksiyonlar, programın farklı yerlerinden çağrılarak aynı işlemin tekrar tekrar yazılmasını önler. Bu sayede kod hem kısalır hem de daha düzenli olur.
Python’da fonksiyon tanımlamak için `def` anahtar kelimesi kullanılır. Fonksiyon ismi ve parantez içinde parametreler belirtilir. Fonksiyonun çalıştıracağı kod bloğu girintili olarak yazılır.
def selamla():
print("Merhaba, Python öğreniyorsunuz!")
Yukarıdaki örnekte, `selamla` adında parametresiz bir fonksiyon tanımlanmıştır. Fonksiyon çağrıldığında ekrana mesaj yazdıracaktır.
Fonksiyon nasıl çağrılır?
Bir fonksiyon tanımladıktan sonra onu kullanmak için ismi ve parantezleri yazmanız yeterlidir. Parametre alan fonksiyonlarda parantez içine gerekli değerler verilir.
selamla() # Merhaba, Python öğreniyorsunuz! çıktısını verir
Fonksiyon çağrısı, program akışını fonksiyonun içine yönlendirir, işlemi yapar ve ardından kaldığı yere döner.
Fonksiyon parametreleri ve argümanlar
Fonksiyonlar genellikle işlem yaparken dışarıdan bilgi almak ister. Bu bilgiler fonksiyon parametreleriyle sağlanır. Parametreler, fonksiyon tanımlanırken parantez içine yazılır.
def toplama(a, b):
print(a + b)
Burada `toplama` fonksiyonu iki parametre alır ve toplamını yazdırır.
Zorunlu ve varsayılan parametreler
- Zorunlu parametreler: Fonksiyon çağrılırken mutlaka değer verilmelidir.
toplama(3, 5) # 8
- Varsayılan parametreler: Parametreye önceden değer atanabilir, çağrıda verilmezse varsayılan kullanılır.
def merhaba(isim="ziyaretçi"):
print(f"Merhaba, {isim}!")
merhaba() # Merhaba, ziyaretçi!
merhaba("Ali") # Merhaba, Ali!
Değişken sayıda parametre almak
Bazı durumlarda kaç parametre geleceği önceden bilinmeyebilir. Python’da `args` ve `*kwargs` ile bu esneklik sağlanır.
- `*args`: Pozisyonel argümanları tuple olarak alır.
- `**kwargs`: Anahtar kelime argümanlarını sözlük olarak alır.
def yazdir(*args, **kwargs):
print("Args:", args)
print("Kwargs:", kwargs)
yazdir(1, 2, 3, ad="Ali", yas=25)
Çıktı:
Args: (1, 2, 3)
Kwargs: {'ad': 'Ali', 'yas': 25}

Fonksiyonların geri dönüş değeri
Bir fonksiyon işlem tamamlandığında bir değer döndürebilir. Bunun için `return` ifadesi kullanılır. Eğer `return` yoksa fonksiyon otomatik olarak `None` döner.
def carpma(a, b):
return a * b
sonuc = carpma(4, 5)
print(sonuc) # 20
`return` fonksiyonun çalışmasını sonlandırır ve çağrıldığı yere değeri gönderir. Fonksiyonlar birden fazla değer de döndürebilir:
def islemler(a, b):
return a+b, a*b
toplam, carpim = islemler(3, 6)
print(toplam, carpim) # 9 18
Fonksiyon içinde değişken kapsamı: Yerel ve global değişkenler
Fonksiyon içinde tanımlanan değişkenler sadece fonksiyon içinde geçerlidir; bunlara yerel değişken denir. Fonksiyon dışındaki değişkenlere global değişken denir.
x = 10 # global değişken
def fonksiyon():
x = 5 # yerel değişken
print(x)
fonksiyon() # 5
print(x) # 10
Global değişken fonksiyon içinde değiştirilmek istenirse `global` anahtar kelimesi kullanılır:
x = 10
def degistir():
global x
x = 7
degistir()
print(x) # 7
Global değişken kullanımı dikkatli olmalıdır, çünkü kodun izlenmesini zorlaştırabilir.

Lambda fonksiyonları: Tek satırlık fonksiyonlar
Python’da kısa ve basit fonksiyonlar için `lambda` ifadesi vardır. Lambda fonksiyonları isimsizdir ve genellikle bir değişkene atanır veya başka fonksiyonlara argüman olarak verilir.
kare = lambda x: x**2
print(kare(4)) # 16
Lambda fonksiyonları genellikle sıralama, filtreleme gibi işlemlerde tercih edilir:
sayilar = [1, 5, 3, 9]
sayilar.sort(key=lambda x: -x)
print(sayilar) # [9, 5, 3, 1]
Ancak karmaşık işlemler için klasik `def` ile fonksiyon tanımlamak okunabilirlik açısından daha iyidir.
Fonksiyonlarda dokümantasyon: Docstring kullanımı
Kodun anlaşılmasını kolaylaştırmak için fonksiyonların içine açıklama yazılır. Bu açıklama üç tırnak içinde yazılır ve docstring olarak adlandırılır.
def faktoriyel(n):
"""n sayısının faktöriyelini hesaplar."""
if n == 0:
return 1
else:
return n * faktoriyel(n-1)
Docstring’lere IDE veya Python’un `help()` fonksiyonu ile erişilebilir:
help(faktoriyel)
Docstring yazmak, özellikle ekip projelerinde kodun anlaşılmasını sağlar.
Fonksiyonlarda hata yönetimi
Fonksiyon içinde oluşabilecek hataları kontrol altına almak programın stabil çalışması için önemlidir. Python’da `try-except` blokları ile hata yakalanabilir.
def bolme(a, b):
try:
return a / b
except ZeroDivisionError:
return "Bir sayı sıfıra bölünemez."
print(bolme(10, 2)) # 5.0
print(bolme(5, 0)) # Bir sayı sıfıra bölünemez.
Hata yönetimi, kullanıcıdan alınan verilerle çalışan fonksiyonlarda hata sebebiyle programın durmasını önler.
Fonksiyonlarda modülerlik ve kod tekrarı önleme
Fonksiyonlar, kodu modüller halinde organize eder. Tekrar eden işlemleri fonksiyon içine almak, kodun bakımını kolaylaştırır.
Örneğin, aynı hesaplamayı defalarca yazmak yerine fonksiyon tanımlamak:
def alan_hesapla(en, boy):
return en * boy
print(alan_hesapla(5, 3)) # 15
print(alan_hesapla(10, 7)) # 70
Kodunuzda değişiklik yapmak istediğinizde sadece fonksiyonu değiştirmek yeterlidir.
Fonksiyon isimlendirme kuralları
- Fonksiyon isimleri küçük harflerle yazılır.
- Kelimeler alt çizgi (_) ile ayrılır.
- Anlamlı ve kısa isimler tercih edilir.
- Python anahtar kelimeleri kullanılmaz.
Örnek isimler: `kullanici_ekle`, `veri_cek`, `dosya_yaz`.
Fonksiyonların başka fonksiyonları çağırması
Fonksiyonlar kendi içinde başka fonksiyonları çağırabilir. Bu sayede karmaşık işlemler küçük parçalara bölünerek daha anlaşılır hale gelir.
def kare_al(x):
return x ** 2
def kup_al(x):
return x ** 3
def hesapla(sayi, fonksiyon):
return fonksiyon(sayi)
print(hesapla(4, kare_al)) # 16
print(hesapla(2, kup_al)) # 8
Fonksiyon parametresi olarak başka fonksiyon göndermek, Python’un esnekliğini gösterir.
Fonksiyonların performansa etkisi
Fonksiyon kullanımı, kodu modülerleştirirken küçük bir performans maliyeti oluşturabilir. Ancak okunabilirlik ve bakım kolaylığı açısından bu maliyet çoğunlukla kabul edilir. Çok küçük ve sık tekrar eden işlemlerde ise dikkatli olmak gerekir.
Fonksiyonlarda tip ipuçları (Type Hints)
Python 3 ile birlikte fonksiyon parametreleri ve dönüş türü için tip belirtmek mümkün oldu. Bu, kod okunabilirliğini artırır ve IDE’lerde hata yakalamaya yardımcı olur.
def topla(a: int, b: int) -> int:
return a + b
Tip ipuçları zorunlu değildir ancak tavsiye edilir.
Pratik örnekler
Örnek 1: Parametreli fonksiyon
def selamla(isim):
print(f"Merhaba, {isim}!")
selamla("Ayşe") # Merhaba, Ayşe!
Örnek 2: Varsayılan parametre
def hesapla(kdv_orani=0.18):
fiyat = 100
return fiyat + fiyat * kdv_orani
print(hesapla()) # 118.0
print(hesapla(0.08)) # 108.0
Örnek 3: Değişken sayıda argüman
def toplam(*sayilar):
sonuc = 0
for s in sayilar:
sonuc += s
return sonuc
print(toplam(1, 2, 3, 4)) # 10
Yeni başlayanların sık yaptığı hatalar
- Fonksiyon tanımlarken parantezi unutmak.
- Parametre sayısını yanlış vermek.
- `return` ifadesini kullanmayı ihmal etmek.
- Global değişkenleri fonksiyon içinde değiştirmeye çalışmak.
- Fonksiyon isimlerini anlamsız seçmek.
- Karmaşık fonksiyonlar yazmak yerine, işleri küçük parçalara bölmemek.
Bu hatalardan kaçınmak için pratik yapmak ve yukarıdaki temel kurallara uymak önemlidir.
Fonksiyonlar ve metodlar arasındaki fark
Fonksiyon bağımsız olarak tanımlanır, metod ise bir nesneye bağlıdır. Örneğin, liste nesnesinin `append()` metodu listeye eleman ekler.
liste = [1, 2, 3]
liste.append(4) # append bir metoddur
Fonksiyonlar bağımsızdır:
def topla(a, b):
return a + b
Fonksiyonları öğrenmek neden önemlidir?
- Kod tekrarı önlenir.
- Program modüler olur.
- Hata ayıklama kolaylaşır.
- Kod okunabilirliği artar.
- Daha büyük projelerde yönetim kolaylaşır.
Fonksiyonlar olmadan karmaşık program yazmak zor ve hataya açık olur.
Ek okuma / Kaynak
Python fonksiyonları hakkında daha detaylı bilgi için Python Resmi Dokümantasyonu ziyaret edilebilir.
İlgili yazılar
- Python ile Temel Discord Sohbet ve Mental Sağlık Botu Yapımı
- PostgreSQL’de veritabanı yedeği nasıl alınır
Editörün Notu
Python fonksiyonlarını öğrenmek yazılımda modülerlik ve kod tekrarını önleme açısından büyük kolaylık sağlar. Bu rehberde verilen örnekler ve ipuçları, fonksiyonları adım adım kavrayarak pratik yapmanızı destekleyecektir.
—
İlgili yazılar:
