Resim

Yerleşik Fonksiyonlar: help(), enumerate(), zip(), map(), filter()

Yerleşik Fonksiyonlar: help(), enumerate(), zip(), map(), filter()

Python'da bazı yerleşik fonksiyonlar, veri koleksiyonlarını işlemek, dönüştürmek ve anlamlandırmak için temel döngülere göre daha temiz ve verimli yollar sunar.

1. help() Fonksiyonu: Anlık Dokümantasyon

Programlama yaparken veya yeni bir modül/fonksiyon öğrenirken, onun ne yaptığını anında bilmek önemlidir.

  • Amaç: Python'ın dahili yardım sistemini çağırarak, bir fonksiyon, metot, modül veya anahtar kelime hakkında anlık dokümantasyon (docstring) görüntüler.

  • Kullanım: help(<objenin_adi>)

# Örnek: 'zip' fonksiyonunun ne yaptığını öğrenme
help(zip)

Kendiniz Deneyebilirsiniz:

2. enumerate() Fonksiyonu: İndeksle Birlikte Yineleme

Döngü kurarken öğenin değerini ve listedeki konumunu (indeksini) eş zamanlı olarak elde etmeyi sağlar.

  • Amaç: Yinelenebilir bir nesnedeki öğeleri (indeks, değer) tuple'ları olarak döndürmek.

  • start Argümanı: Sayacın başlangıç değerini (varsayılan: 0) değiştirmeye izin verir.

# Kullanım
sehirler = ['İstanbul', 'Ankara', 'İzmir']

for sira, sehir in enumerate(sehirler, start=1):
    print(f"{sira}. Şehir: {sehir}")

Kendiniz Deneyebilirsiniz:

3. zip() Fonksiyonu: Paralel Koleksiyonları Birleştirme

Birden fazla yinelenebilir nesnedeki öğeleri indekslerine göre eşleştirerek birleştirir.

  • Amaç: Aynı anda birden fazla listeyi paralel olarak dolaşmak ve eşleşen öğeleri tuple olarak gruplamak.

  • Kural: İşlem, en kısa koleksiyonun uzunluğu kadar sürer. Fazla öğeler göz ardı edilir.

# Kullanım
isimler = ['Can', 'Ece']
notlar = [95, 88]

for isim, notu in zip(isimler, notlar):
    print(f"{isim} notu: {notu}")

Kendiniz Deneyebilirsiniz:

4. map() Fonksiyonu: Tüm Öğelere Dönüşüm Uygulama

Bir listedeki tüm öğelere aynı fonksiyonu uygulayarak yeni bir yineleyici (map object) üretir.

  • Amaç: Bir koleksiyonun her öğesini, önceden tanımlanmış bir kurala göre toplu olarak dönüştürmek.

# Geleneksel fonksiyon tanımlama
def yuzde_on_zam(fiyat):
    return fiyat * 1.10

fiyatlar = [100, 200, 50]

# map(fonksiyon, yinelenebilir)
# map() bir yineleyici (map object) döndürür, liste elde 
#etmek için list() kullanılır.
zamli_fiyatlar = list(map(yuzde_on_zam, fiyatlar))

print(zamli_fiyatlar) # Çıktı: [110.0, 220.0, 55.0]

Kendiniz Deneyebilirsiniz:

5. filter() Fonksiyonu: Belirli Koşulları Sağlayan Öğeleri Seçme

Bir listedeki tüm öğelere bir koşul (fonksiyon) uygulayarak, sadece True (Doğru) döndüren öğelerden oluşan yeni bir yineleyici (filter object) üretir.

  • Amaç: Bir koleksiyondan, belirli bir koşula uyan alt kümeyi ayıklamak (filtrelemek).

# Sadece çift sayıları True döndüren fonksiyon
def cift_mi(sayi):
    return sayi % 2 == 0

sayilar = [1, 2, 3, 4, 5, 6]

# filter(fonksiyon, yinelenebilir)
# filter() da bir yineleyici döndürür.
cift_sayilar = list(filter(cift_mi, sayilar))

print(cift_sayilar) # Çıktı: [2, 4, 6]

Kendiniz Deneyebilirsiniz:

6. Lambda Fonksiyonları (Anonim Fonksiyonlar)

map() ve filter() ile birlikte, genellikle tek bir işlem yapması gereken küçük, isimsiz fonksiyonlar tanımlamak için kullanılırlar.

  • Amaç: Kısa süreli, tek satırlık bir fonksiyon tanımlama. Özellikle map ve filter gibi argüman olarak fonksiyon bekleyen yerlerde kullanılır.

  • Söz Dizimi: lambda argümanlar: ifade

# filter örneğini lambda ile yapma
sayilar = [1, 2, 3, 4, 5, 6]

# Tek satırda fonksiyonu tanımla ve uygula: (sayi % 2 == 0) 
#True dönerse sakla
ciftler_lambda = list(filter(lambda s: s % 2 == 0, sayilar))

print(ciftler_lambda) # Çıktı: [2, 4, 6]

Bu konu başlığı, size bu altı güçlü yerleşik fonksiyonun pratik ve etkili kullanımlarını sunmaktadır. Comprehension'lar bu fonksiyonların yaptığı işin çoğunu yapsa da, map/filter özellikle hızlı, tek kullanımlık dönüşümler için hala yaygın olarak kullanılmaktadır.

Kendiniz Deneyebilirsiniz:

🔥 Python Kariyerinizi Hemen Başlatın!

Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.

[ Python Eğitimi Sıfırdan İleri Seviye ]

Tıklayın ve Python Eğitimine Hemen Kaydolun!

Yorumlar

Bu blogdaki popüler yayınlar

Python random Modülü

Python print()

Yazılım Nedir?