Sizin için eğlenceli bir egzersizim var.
Süper liste sınıfını kullanarak bir süper liste oluşturmanızı istiyorum.
Şimdi buraya, tıpkı Python'da bir listeye sahip olduğumuz gibi, normal bir listenin kullanmamıza izin
verdiği herhangi bir yolla dizin aracılığıyla erişmemize izin veren kod eklemenizi istiyorum.
Ancak tek fark, süper listenin özel bir dunder yöntemine sahip olacak olmasıdır.
Diyelim ki uzunluk yaptığımızda.
Dolayısıyla, Dunder Dunder uzunluğunu tanımladığımızda, onu değiştireceğiz ve ne olursa olsun geri dönmesini sağlayacağız.
1000.
Şimdi bu kolay görünebilir çünkü tek yapmak istediğimiz buradaki dunder uzunluğunu değiştirmek.
Ancak soru şu ki, kalıtım hakkında, nesne yönelimli programlama hakkında öğrendiklerinize dayanarak,
bir listede kullanmamız gereken her bir dunder'ı yazmak zorunda kalmak yerine, listenin zaten sahip olduğu gücü nasıl kolayca
elde edebiliriz ve sonra sadece bu uzunluğu değiştirebiliriz?
Dunder Unutmayın, süper liste bizim oluşturabileceğimiz bir liste olacak.
Bu süper liste gibi bir liste oluşturabiliriz.
Süper liste.
Ve uzunluk, süper liste gibi şeyler yapmamıza izin verecek.
Ayrıca süper listedeki öğelere erişin veya süper listeyi kullanın.
Bir nokta, diyelim ki bir kalem.
Ve belki bir pantolon beş ve gerçekten süper olsun.
En azından biri.
Pekala, götürün onu buradan.
Bir dene bakalım.
Videoyu durdurun, çünkü size cevabı vereceğim.
O zaman bunu uygulayalım.
Burada self olacak ve sadece diyelim ki 1000 döndüreceğiz.
Böylece süper liste bir dediğimizde bunu yorumlayalım.
Ve ben daha uzun yaparım.
Çıktısını alalım.
1000 tane almalıyım.
Bu çok iyi.
Ama ben bunun işlevselliğini istiyorum.
Süper listeme ekleme yapabilmek istiyorum.
Şimdi bunu çalıştıralım ve ne olacağını görelim.
Bir öznitelik hatası alıyorum süper liste nesnesinin öznitelik eklemesi yok.
Hmm.
Bunu bir düşünelim.
Python'daki listelerin zaten sahip olduğu güçleri nasıl elde edebiliriz?
Miras hakkında öğrendiklerimiz.
Doğru.
Yapmamız gereken tek şey listeyi buraya ve şimdi yazmak.
Liste, üst sınıfımızın ana sınıfı olur.
O zaman bir deneyelim.
Şimdi, Çalıştır'a tıklarsam.
Pekala, bu işe yarıyor gibi görünüyor.
Peki ya süper listeye indeksten erişmek istersek?
Sıfır indeksinde beş değil.
Eğer çalıştır'a tıklarsam.
Ben 1000 alıyorum.
Çünkü henüz bir şey yazdırmıyoruz, o yüzden buraya yazdıralım.
Ve Çalıştır'a tıklayın.
Şuna bir bak.
Bu süper listeye sahip olabiliyoruz ve listenin işlevselliğini genişlettik.
Ne kadar havalı değil mi?
Şimdi iki kez kontrol edelim.
Python'da sahip olduğumuz eğlenceli küçük bir fonksiyon var ve buna alt sınıf deniyor.
Ve burada süper liste diyoruz.
Ve Çalıştır'a tıklarsam listele.
true alıyorum çünkü süper liste listenin bir alt sınıfı mı?
Evet, bu doğru.
Peki ya bu liste temel nesnenin bir alt sınıfı mı?
Evet.
Bu doğru.
Unutmayın, Python'daki her şey temel nesne sınıfından miras alan bir nesnedir.
Daha sonra bazı yerleşik liste yöntemlerini miras alırız ve tüm bunları süper listemizde sadece bu şekilde miras alarak
kullanabiliriz.
Çok, çok havalı.
Şimdi bazılarınız için bu basit bir alıştırma olabilir ve anlamadıysanız da hemen anlamışsınızdır.
Merak etme.
Şimdi, bilirsin, oldukça havalı.
Bir sonrakinde görüşürüz.
Güle güle.