📊 Yardımcı Modüller
Yardımcı Modüller: Python'daki array, sıkı bir bagaj düzenleyicisi gibi — sadece BİR tür eşya kabul eder (hep int, hep float), karışık koyamazsın; normal bir list ise "her şeyi a
Python'daki array, sıkı bir bagaj düzenleyicisi gibi — sadece BİR tür eşya kabul eder (hep int, hep float), karışık koyamazsın; normal bir list ise "her şeyi atabileceğin" gelişigüzel bir çanta. Şimdi şunu sor: bu kısıtlama neden bir DEZAVANTAJ değil, bir AVANTAJ? Çünkü Python her şeyi sabit tipte tutarsa, her elemanın boyutunu ÖNCEDEN bilir — hafızada yan yana sıkıca dizebilir, "bu eleman ne tip, ne kadar yer tutuyor" diye tek tek kontrol etmesi gerekmez. Sonuç: binlerce sayısal veriyle (örn. performans test sonuçları) çalışırken array, normal listeden daha az hafıza kullanır. Java'nın int[] dizisi tam olarak bu disipliniyle çalışır — Python'un array modülü, Java geliştiricisine zaten tanıdık gelen "homojen dizi" mantığını opsiyonel olarak sunar.
Python'da normal list zaten dinamik ve esnek. array modülü çok sayısal veriyle çalışırken bellek optimizasyonu için kullanılır. QA'de büyük performans ölçümü verisi işlerken yararlı olabilir. Java'daki primitive array (int[]) kavramına yakın.
Micro Lab: Python kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Java ile Karşılaştırma
Python'da array.array('i', [...]) ile list arasındaki temel fark nedir?
array yalnızca aynı tipte veri tutar, list her tipi tutar
array değiştirilemez (immutable)
array.array tek bir tip (int, float vb.) tutar ve bu sayede bellekte daha verimlidir. Python list her tipte veri tutabilir. QA'de büyük sayısal veri setlerinde array kullanmak bellek tasarrufu sağlar.
Python'da 'list' veri yapısının 'array.array' ile kıyaslandığında dezavantajı nedir?
Daha az metot içerir
Bellekte daha fazla yer kaplar ve çoklu tip desteği nedeniyle daha az verimlidir
Eleman eklemek daha yavaştır
Sadece okunabilir bir yapıdır