Tekrar hoş geldiniz.
Şimdi bu kursun büyük bir bölümünü bazı projeler oluşturarak ve bazı yerleşik Python modüllerini
kullanarak ve Python paket dizininden bazı popüler üçüncü taraf kütüphaneleri kullanarak geçireceğiz.
Bununla birlikte, size Python'da sahip olduğumuz yerleşik modüllerde kişisel olarak sevdiğim
bazı yararlı modüller hakkında hızlı bir video göstermek istedim.
Ve bu gerçekten kullanışlı modüllerden bazıları aslında Python'da daha fazla veri türüne sahip olmamızı sağlar.
Kursun başında Python ile birlikte gelen veri türlerinden bahsettiğim bu listeyi hatırlayın,
daha sonra sınıfları ve Python'da kendi veri türlerimizi, kendi nesnelerimizi nasıl oluşturabileceğimizi
öğrendik.
Ama aynı zamanda Python standart kütüphanesinde yerleşik olarak gelen ve gerçekten çok güzel olan bu özel veri türlerine
de sahibiz.
Bu da programlarımızı gerçekten çok güçlü hale getirebilir.
Artık uzmanlaşmışlardır, çünkü onları her yerde göremezsiniz, ancak var olduklarını
bilmek iyidir.
Ben de en sevdiklerimin üzerinden geçeceğim.
Size göstereceğim ilk modül koleksiyon modülüdür.
Yani koleksiyon modülü koleksiyon veya koleksiyonlardan gelmektedir.
Ve burada gerçekten hoşuma giden üç şey var.
Bu yüzden içe aktar diyeceğim, sayacı, varsayılan sözlüğü ve ardından sıralı sözlüğü içe
aktaracağım.
Şimdi bazılarının büyük harf oldukları için nasıl sınıf olduklarına dikkat edin.
Ve bazıları sadece bir işlev gibi görünüyor.
Koleksiyonlar modülü hakkında bilgi edinmek için yine burada gezinebilir ve koleksiyonlara bakarak sahip olduğumuz
tüm koleksiyonları görebilirsiniz.
Bu koleksiyonlardan ilkiyle başlayalım.
Bir sayaç son derece kullanışlıdır.
Diyelim ki bir, iki, üç, dört, beş, altı, yedi içeren bir listem var ve sayacı yazdırırsam bir
listede kaç öğe olduğunu saymak istiyorum.
Burada ne işe yaradığını görebilirsiniz.
Ama esasen, ona bir liste verip çalıştır'a tıklarsam.
Tamam.
Az önce ne oldu burada?
Birin bir tane, ikinin bir tane, üçün bir tane olduğu bir sözlük oluşturur.
Hmm.
Buraya bir yedi daha eklersek ne olur?
Yedi diyelim.
Eğer çalıştır'a tıklarsam.
Bunu gördün mü?
Seven'ın şimdi iki tane var.
Yani yaptığı şey, bir iterable'da bir öğenin kaç kez oluştuğunu takip eden bir sözlük oluşturmaktır.
Yani bu yedi olay iki kez gerçekleşti.
Yani yedinin değeri ikidir.
Bunu kullanabileceğimiz bir başka yol da, diyelim ki bir cümlemiz var ve cümlede "Kontrol etmek istiyorum" diyoruz.
Bir şeyler yazalım.
Bla bla bla diyeceğim.
Python hakkında düşünmek.
Burada bir sayaç yapsam ve diyelim ki Çalıştır'a tıkladığımda bir cümle versem.
Şuna bir bak.
En çok hangi harfin oluştuğunu görüyorum.
Bizim durumumuzda, h beş kez, boşluk beş kez ve ardından B dört kez meydana geldi.
Ve bu gerçekten çok güzel.
Çünkü liste gibi bir öğeyi sayım tutmak için hash map ya da bunun gibi bir sözlük dediğimiz şeye dönüştüren
bu tür bir sayaç hesaplaması aslında programlamanın her yerinde gördüğünüz çok kullanışlı bir işlevdir.
Aslında optimizasyon problemlerine çok yardımcı olur.
Şimdi, bu konuya girmeyeceğiz, ancak size sadece yinelenen kullanıcıları veya yinelenen
e-postaları saymak istiyorsanız sayacın gerçekten çok yararlı bir şey olduğunu göstermek istiyorum.
Sayaç gerçekten çok faydalı olabilir.
Peki ya bir sonraki?
Default, Dick.
Tanrım, bu söylemesi gerçekten zor bir kelime.
Pekala, diyelim ki burada bir sözlüğümüz var ve bu sözlükte çok önemsiz
bir sözlükte bir ve B iki olacak.
Ne kadar basit bir sözlük.
Şimdi, burada, sözlük diyebilirim.
Nokta.
Ya da A parantezine alacağım ve değeri yakalayabileceğim.
Doğru.
Çalıştır'a tıklarsam.
Oh, ve ben sözlüğü hecelemedim.
Doğru.
Hadi bunu düzeltelim.
Bu daha iyi.
Bunu şimdilik yorumsuz bırakalım çünkü buna ihtiyacımız yok.
Bir değer elde ettiğimi göreceksiniz.
Ancak var olmayan bir şeye erişmeye çalışırsam, örneğin.
Gördün mü?
Varsayılan sözlükle ilgili bir hata alacağım.
Aslında bir şey mevcut değilse varsayılan bir değer alacağım.
Şimdi bunu varsayılan bir sözlüğe dönüştürelim.
Bunun gibi.
Ve şimdi bunu çalıştırdığımda bir hata alıyoruz.
İlk argüman çağrılabilir olmalı veya olmamalıdır.
Yani default dict'in yaptığı şey, bunun gibi bir anahtara erişmemize izin vermek, ancak ona varsayılan bir değer vermektir.
Bizim durumumuzda, burada ona çağrılabilir bir nesne gibi bir şey vermemiz gerekiyor.
Ve çağrılabilir, çağrılabilen bir işlev gibi bir şey anlamına gelir, bu yüzden çalıştırırsam.
Sıfır alıyorum.
Nedenmiş o?
Peki, int'i çalıştırdığımda.
Bunun gibi, içinde hiçbir şey yok.
Sıfır alıyoruz.
Bu çalıştırılacağı için kısa bir yol, ona kullanmayacağımız hızlı bir işlev vermektir.
Bu yüzden bir lambda yapalım ve sadece verelim.
Beş diyelim.
Şimdi bunu çalıştırırsam, burada sözlük yapalım.
Koş.
Oh, ve hadi yakalamaya çalışalım.
Var olmayan bir şey.
Çalıştır'a tıklarsam beş tane çıkıyor.
Yani bu yaygın bir model.
Gördüğünüz gibi, varsayılan dict ile ona sadece bir değer veya çağrılabilir bir nesne veriyoruz.
Bizim durumumuzda, ona sadece beş döndüren bir lambda fonksiyonu olan bu fonksiyonu veriyoruz.
Yani burada bile söyleyebilirim.
Öyle bir şey yok mu?
İkinci parametre ne istersek o olacaktır.
Ve eğer kaçsaydım.
Var olmayan bir anahtara erişiyor olmama rağmen yok yanıtını alıyorum.
Şimdi, burada bir şey yaparsam ve çalıştır'a tıklarsam.
Her şey çalışıyor.
Hala bir tane alıyorum.
Ve eğer olursam.
Sanırım koşmak da öyle.
Yine bir başka kullanışlı küçük veri türü.
Bir sonraki sipariş dicked ve bu başka bir ilginç olanı.
Ve sözlük sırası, bir sözlüğe eklediğiniz sırayı korur.
Sana göstereyim.
Diyelim ki bir sözlüğümüz var ve bu sözlük bir sipariş sözlüğü olacak.
İşte bu şekilde yaratıyoruz.
Şimdi burada, eğer dx eşittir a yaparsam.
Bu da bire eşit olacak.
Ve sonra D.
Be, ikiye eşit olacak.
Ve şimdi bunu kopyalayıp ikinci bir sözlük yapıyorum.
Rd'ye diyelim.
RD'ye.
Ve kontrol ediyorum.
Hey, baskı DX iki eşittir dx mi?
Bunun değerleri kontrol edeceğini unutmayın.
Eğer bunu çalıştırırsam.
Doğru mu anladım?
Evet, eşitler.
Ancak buraya ekleme sırasını değiştirirsem ve çalıştır'a tıklarsam.
Yanlış anladım.
Üzgünüm, bu aynı şey değil çünkü düzeni koruyor.
Eğer bu normal bir sözlük olsaydı.
Diyelim ki burada sahip olduğumuz şey yerine, sadece bir sözlük oluşturacağım ve sadece yapacağız.
Burada, diyelim ki 100 tane olan basit bir görünüm yapacağız.
Aynısını bunun için de yap.
DD iki.
Buna eşit.
Eğer şimdi bunu çalıştırırsam.
Tüm anahtarlar ve değerler normal bir sözlükle aynı olduğu için true değerini alıyorum.
Gerçekten umurumuzda değil.
Düzen yok.
Ve bundan daha önce de bahsetmiştim.
Python'da bir sözlük yazmak için düzen duygusu yoktur.
Gerçi anahtarların çıktısını aldığımızda işleri düzene sokabiliriz.
Sözlüğümüz büyüdükçe, tüm anahtarları yazdırdığımızda bunları sırayla alacağımızın
garantisi yoktur.
Ancak bir sipariş sözlüğü söz konusu olduğunda, bu garantiyi alıyoruz.
Şimdi, bunlar için bazı performans etkileri var.
Ancak, genel olarak, bazı durumlarda faydalı olabilir.
Tamam.
Birkaç tane daha var ama bu video uzamaya başladı.
Şimdi biraz ara verelim ve bir sonraki videoda görüşmek üzere.
Güle güle.