Proje tasarımı
- Python kursu
- Uzman
- Ders 43/47
- 6 dk
Uzman finali iskeletini tasarlarsın.
Uzman finali: veri işleme araç seti
Bu beş derslik uzman finalınde tüm expert konularını birleştiren bir mini uygulama yapacaksın. İlk derste type() ile dinamik bir Tool sınıfı oluşturursun.
Tool sınıfının name özelliği ve run yöntemi olacak. Sonraki derslerde bu temel üstüne metaprogramming, multiprocessing ve ctypes katmanları ekleyeceksin. Her ders bir code adımıyla bir parça ekler; başlangıç kodu önceki dersin çözümünü içerir. Bu, gerçek bir araç setinin nasıl büyüdüğünü gösterir.
Uygulama Tool sınıfını type() ile yaz
Tool sınıfını type() ile oluştur. İkinci argüman boş demet (), üçüncü argüman bir sözlük olsun. Sözlükte "name": "arac" özelliği ve "run" yöntemi olsun. run şunu döndürsün: f"{self.name} calisti". Örnek oluştur ve run() çıktısını yazdır.
Başlangıç kodu
# Tool sınıfını type() ile oluştur
# name ve run ekle
# örneği yazdırÖrnek çözüm
# Tool sınıfını type() ile oluştur
Tool = type("Tool", (), {
"name": "arac",
"run": lambda self: f"{self.name} calisti",
})
t = Tool()
print(t.run())Beklenen çıktı
arac calisti
Sıradaki adım: metaprogramming
Tool sınıfı hazır. Sonraki derste bu temel üstüne bir metaprogramming katmanı ekleyeceksin: Field descriptor ve ModelMeta metaclass.
Bu katman, sınıfların alanlarını otomatik olarak toplamasını sağlayacak. Django ORM benzeri bir bildirimsel yapı kuracaksın. Her ders bir katman ekler; başlangıç kodu önceki çözümü taşır.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 type() bu projede ne için kullanılır?
- Dizi işlemek
- Süreç başlatmak
- C kütüphanesi yüklemek
- Dinamik Tool sınıfı oluşturmak Doğru cevap
Açıklama: type() ile çalışma anında Tool sınıfını oluşturursun.
2 Tool tanımını tamamla
Tool = type("Tool", (), {____})
Tool = type("Tool", (), {"name": "arac"})
Açıklama: Sözlükte name özelliği bu şekilde tanımlanır.
3 Proje kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
type() |
Sınıf oluşturur |
Tool |
İlk sınıf |
name |
Özellik |
run |
Yöntem |