Birleştirme
- Python kursu
- Orta seviye
- Ders 116/116
- 6 dk
Tüm katmanları birleştirerek çalışan bir uygulama yazarsın.
Birleştirme: sınıf ile çöz
Son derste öğrendiğin her şeyi bir Sayac sınıfında birleştireceksin. Bu sınıf kelime frekanslarını tutar:
class Sayac:
def __init__(self):
self.veri = {}
def ekle(self, k):
self.veri[k] = self.veri.get(k, 0) + 1
s = Sayac()
s.ekle("elma")
print(s.veri)Başlangıç kodu önceki tüm çözümleri içerir. Sen Sayac sınıfını tanımlayıp kullanacaksın. Bu, kodu modüler hâle getirir.
Proje tamamlandı!
Uygulama Sayaç sınıfını tanımla ve kullan
class Sayac: tanımla. __init__'te self.veri = {} yaz. def ekle(self, k): yönteminde self.veri[k] = self.veri.get(k, 0) + 1 yaz. Sonra s = Sayac(), s.ekle("elma"), print(s.veri) yaz.
Başlangıç kodu
# Kelime işleme - kelime listesi
words = ["elma", "armut", "elma"]
print(len(words))
def say(words):
return len(set(words))
print(say(words))
def uret(words):
for w in words:
yield w
for w in uret(words):
print(w)
from io import StringIO
with StringIO("kiraz") as f:
print(f.read())
# Sayac sınıfını tanımla ve kullanÖrnek çözüm
words = ["elma", "armut", "elma"]
print(len(words))
def say(words):
return len(set(words))
print(say(words))
def uret(words):
for w in words:
yield w
for w in uret(words):
print(w)
from io import StringIO
with StringIO("kiraz") as f:
print(f.read())
class Sayac:
def __init__(self):
self.veri = {}
def ekle(self, k):
self.veri[k] = self.veri.get(k, 0) + 1
s = Sayac()
s.ekle("elma")
print(s.veri)Beklenen çıktı
3
2
elma
armut
elma
kiraz
{'elma': 1}
Proje tamamlandı
Tebrikler! Beş derslik orta seviye finalını tamamladın. Şunları birleştirdin:
- Liste ile veri saklama
- fonksiyon ile benzersiz sayma
- generator ile bellek dostu üretim
- with ile güvenli dosya okuma
- sınıf ile modüler kod
Bu beş katman, orta seviye Python'un özetidir. Sonraki seviyede async, FastAPI ve paketleme gelecek.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Proje birleştirme eşleştir
| Kavram | Anlamı |
|---|---|
class Sayaç |
Sınıf |
__init__ |
Kurucu |
self.veri |
Sözlük |
ekle |
Yöntem |
2 ekle yöntemini tamamla
def ekle(self, k):
self.veri[k] = self.veri.____(k, 0) + 1
def ekle(self, k):
self.veri[k] = self.veri.get(k, 0) + 1
Açıklama: get(k, 0) anahtar yoksa 0 döndürür.
3 s.ekle("elma") iki kez çağrılırsa s.veri["elma"] ne olur?
- 2 Doğru cevap
- 1
- 0
- Hata
Açıklama: Her ekle çağrısı sayıyı bir artırır; iki çağrı 2 verir.