İçeriğe geç
academia.sh

Kurs Orta

Veri Yapıları ve Fonksiyonel Araçlar

Bu kursun sonunda

Kursa başla

01

Koleksiyonlar

Değişebilir sıralı koleksiyonun maliyetleri, değişmezliğin getirdiği güvence, anahtar-değer eşlemesi ve sıralama davranışı, küme işlemleri, özelleşmiş kaplar ve dilimlemenin ne kopyalayıp ne paylaştığı.

  1. 01 Listeler Liste öğeleri değil onlara giden bağları tutar; bin öğe koymak 1000 nesne var eder ama listeyi ikinci bir ada bağlamak 0, aynı öğeyi beş kez eklemek 1 var eder ve sekiz büyütme biçiminden yalnız üçü yeni kap kurar.
  2. 02 Demetler Altı işlemden üçü demette istisnayla düşer ama iç öğeyi değiştiren işlem demette de geçer; değişmezlik bir katman derinliğindedir ve karşılığında kabın kazandığı yetki, beş adayın üçünde görüldüğü gibi anahtar olabilmektir.
  3. 03 Sözlükler Aynı iki yüz öğe listede aranınca 200, kümede ve sözlükte 1 karşılaştırma yapar; anahtarlar istendiğinde eline geçen şey kopya değil görünümdür ve sonradan eklenen anahtarı görür — 2'den 3'e çıkar, anlık liste kopyası 2'de kalır.
  4. 04 Kümeler Üç yüz öğeyi tekilleştirmek elle tarandığında 15050, kümeye verildiğinde 200 karşılaştırma yapar ve üçünde de sonuç aynı yüz öğedir; altı küme işleminin altısı da 0 yeni öğe var eder ve dördü yeni kap kurar, ikisi var olanı değiştirir.
  5. 05 Özelleşmiş Koleksiyonlar Aynı gruplamayı setdefault ile yazmak 320, varsayılan sözlükle yazmak 100 kap var eder; bin öğelik akışta üç yazım da 1000 nesne üretir ama tutulan 1000'e karşı 5'tir ve döndürme listede üç kap kurarken kuyrukta hiç kurmaz.
  6. 06 Dilimleme Sekiz dilim biçiminin sekizi de 0 yeni öğe var edip yeni bir kap döndürür; iç içe listede 4 öğe üretilir ve dilim kopyasında iki iç listenin ikisi de paylaşılır — dış kap yenidir, içindekiler eskidir.

02

Yineleme ve Fonksiyonel Araçlar

Yineleyici sözleşmesi, tembel değerlendirme, bellek dostu dönüşüm zincirleri, üç kavrama biçimi, fonksiyonu argüman olarak geçme ve davranışı sarmalarken meta veriyi koruma.

  1. 01 Yineleyici Protokolü Öğeleri görmek için kabı yeniden kurmak gerekmez: dilim kopyası üç başvuruyu yeni bir listeye yazarken yineleyici sıfır yazar, üçünü de paylaşır ve hiçbir öğe var etmez.
  2. 02 Üreteçler Üreteç işlevini çağırmak gövdesinden tek satır çalıştırmaz: bin öğelik iş kavramada kurulumda 1000 nesne var ederken üreteçte 0 var eder ve üç öğe istendiğinde 3'te kalır.
  3. 03 Üreteç İfadeleri Bin öğelik toplamada üreteç de kavrama da 1000 nesne üretir ve ikisi de 499500 verir; ayrıldıkları tek yer listede tutulandır — 0'a karşı 1000. Tembel olan üretimi geciktirir, ondan kaçınmaz.
  4. 04 Kavrama Sözdizimi Aynı bin öğeden liste kavraması 1000, küme ve sözlük kavraması 100 öğe tutar; süzme koşulunun üretimden önce mi sonra mı yazıldığı var edilen nesneyi 5'ten 10'a çıkarır.
  5. 05 Lambda ve Yüksek Mertebeden Fonksiyonlar İşlev bir nesnedir ve argüman olarak geçirilebilir: iki yüz öğede anahtar işlevi sorted, min ve max için öğe başına tam bir kez çağrılır — aynı işi elle yazan sıralama onu 39800 kez çağırır.
  6. 06 Dekoratörler Sarmalama özgün işlevi silmez, üstüne bir katman koyar: tek dekoratör iki katman kurar, iki dekoratör üç, ve meta veri korunmadığında işlevin adı, belgesi ve imzası sarmalayıcınınkiyle değişir.

03

Modüller ve Paketler

İçe aktarma mekaniği ve arama yolu, alt paketler ile göreli içe aktarım, standart kitaplığın kapsamı, ve betik ile modül ikiliğinin gövdeyi ne zaman çalıştırdığı.

  1. 01 Modül Sistemi İçe aktarma bir var etme işidir: aynı modül üç kez istendiğinde iki nesne var edilir, gövde önbellek doluyken bir kez koşar; arama yolunun sırası ancak önbellek boşken karar verir.
  2. 02 Paket Yapısı Aynı kısa ad göreli yazımda komşuya, mutlak yazımda köke çözülür ve iki ayrı nesne verir; tek bir alt modül isteği beş gövde koşturur ve beş modül nesnesi önbelleğe yazar.
  3. 03 Standart Kütüphane Turu Aynı işin standart kitaplıkla ve elle yazımı üç eksende ölçülür: akışta satır aynı kalır ama var edilen nesne 800'e karşı 3'tür, ad ayırmada altı addan 2'si, gün eklemede altı tarihten 1'i sessizce ayrışır.
  4. 04 Yeniden Yüklenebilirlik ve Ana Blok Aynı dosya içe aktarıldığında bir, betik olarak koşturulduğunda ikinci bir modül nesnesi var eder ve ana blok yalnız ikincisinde çalışır; yeniden yükleme modül nesnesini korur ama içindeki her işlevi yeniler.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat