İçeriğe geç
← Ana sayfa

Öğren · Dene · Üret

Python · Sözlükler: bilgiyi isimle saklamak — videolu atölye

Adım adım Türkçe görsel rehber. Her bölümden sonra duraklat ve kendi ortamında dene.

← Bütün video rehberler

4:35 dk · Sessiz görsel anlatım · Duraklatıp kodu veya adımı kendin dene.

Ayrıntılı yazılı rehberi aç →Resmi kaynak ↗

Bölümler

Videoyu metin olarak oku

Sözlükler: bilgiyi isimle saklamak

Bir kaydı anahtar-değer ilişkisiyle temsil edip eksik alanı ele almak.

Kavramı kur

Bir öğrencinin adı ve puanı aynı türden sıra öğeleri değildir; farklı anlamdaki alanlardır. Anahtar-değer yapısı, bu bilgilere konum yerine bir adla erişmeyi sağlar. Böylece 0 konumunun isim olduğunu hatırlamak yerine ad anahtarını okursun. Verinin hangi soruya cevap verdiği yapıda görünür hâle gelir.

Neden böyle çalışıyor?

Her alanın var olacağını varsaymak gerçek veride hataya neden olur. Bir form gönderiminde veya API yanıtında şehir alanı eksik olabilir. Bu durumda varsayılan değer kullanmak, kayıt atlamak veya kullanıcıya düzeltme istemek farklı kararlardır. Önce eksik bilgiye uygulamanın nasıl davranacağını belirle.

Çalışma sırası

Aynı anahtara ikinci kez değer yazmak çoğu yapıda yeni bir bağımsız kayıt oluşturmaz; o anahtarın değerini değiştirir. Birden çok öğrenci saklayacaksan tek öğrenci sözlüğüne isim eklemek yerine kayıtları bir koleksiyonda toplaman gerekebilir. Yapıyı seçmeden önce “bir kayıt mı, birden çok kayıt mı?” sorusunu sor.

İkinci örnek · 1

ad ve puan farklı anlamdaki alanların anahtarlarıdır. Kodun tamamı yazılı derste bulunur.

ogrenci = {"ad": "Elif", "puan": 80}
print(ogrenci["ad"])
print(ogrenci["puan"])
print(ogrenci.get("sehir", "Belirtilmedi"))

Beklenen sonucu oku

sehir olmadığı için açık bir yedek değer seçilir.

Beklenen: Elif 80 Belirtilmedi

Bir değeri sen değiştir

Öğrencinin adını ve puanını değiştir. sehir alanını ekle; yedek yerine gerçek değerin döndüğünü kontrol et.

Hata nereden gelir?

Anahtarı büyük/küçük harf farkıyla yazmak aynı alanı bulmayabilir; adlandırmayı tutarlı yap.

Kendi çözümünü kur

Eksik alanın ekranda nasıl anlatılacağını düşün; sessizce yanlış bir şehir uydurmak yerine açık bir eksik bilgi mesajı yaz. Önce bütün anahtarları yaz. Sonra bir anahtarı kaldırıp eksik bilgi yolunu dene.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

ogrenci = {"ad": "Deniz", "puan": 95}
print(ogrenci["ad"])
print(ogrenci["puan"])
print(ogrenci.get("sehir", "Belirtilmedi"))

Kendini kontrol et

İki farklı öğrenci için aynı ad anahtarını tek sözlükte tekrar tekrar yazmak neden yetmez? Yanıt: Aynı anahtarın değeri güncellenir. Birden çok öğrenci için kayıtları ayrı tutan bir koleksiyon gerekir.

Beklenen: Deniz 95 Belirtilmedi

Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.