Yazara göre resim
Python, ileri düzey kullanıcıların bile aşina olmayabileceği pek çok kavram içeren büyülü bir dildir. Dunder veya Magical yöntemler bunlardan biridir. Sihirli yöntemler, çift alt çizgi ile çevrili özel yöntemlerdir. Python'daki sıradan yöntemlerden farklı olarak açıkça çağrılmazlar. Böyle bir sihirli yöntem, __getitem__
yöntem, Python nesnelerinin diziler veya kaplar gibi davranmasını sağlar, örneğin listeler, sözlükler ve demetler. Dizini veya dilimi alır ve ilişkili değerini koleksiyondan alır. Her kullandığımızda otomatik olarak çağrılır. indexer [ ]
nesnenizdeki öğelere erişmek için operatör.
Bu yöntemi, size sadece birkaç satır kod yazarak gerekli bilgileri çıkarma gücü veren sihirli bir değnek olarak düşünün. İlginç değil mi? Bu yöntem aynı zamanda veri analizi ve makine öğreniminde de yaygın olarak kullanılmaktadır. Öyleyse, daha derine inelim __getitem__
yöntemini kullanın ve gücünü ve esnekliğini keşfedin.
Bir Python programcısı olarak görevinizin işlevsel kod yazmaktan daha fazlası olduğunu anlamanızı istiyorum. Kodunuz verimli, okunabilir ve bakımı yapılabilir olmalıdır. kullanma __getitem__
bu hedeflere ulaşmanıza yardımcı olacaktır. İşte bu sihirli yöntemi kullanmanın diğer bazı faydaları:
- Tüm veri yapısını belleğe yüklemek yerine yalnızca temel bilgileri ayıklamanıza izin vererek bellek kullanımını azaltır.
- Verilerin nasıl işlendiği ve manipüle edildiği konusunda daha fazla esneklik sağlar
- Veriler üzerinde döngüye girmeden koleksiyon üzerinde yineleme yapmanızı sağlar
- Yerleşik tiplerle mümkün olmayabilecek gelişmiş indeksleme yazmanıza izin vererek işlevselliği geliştirir.
- Bilinen gösterimi kullandığı için kodu basitleştirir
Için sözdizimi __getitem__
yöntem şu şekildedir:
def __getitem__(self, index): # Your Implementation pass
İşlevin davranışını tanımlar ve erişmeye çalıştığınız dizini parametresinde alır. Bu yöntemi şu şekilde kullanabiliriz:
my_obj[index]
Bu ifadeye çevirir my_obj.__getitem__(index)
kaputun altında. Şimdi yerleşik olandan ne kadar farklı olduğunu düşünebilirsiniz. indexer []
Şebeke? Bu gösterimi nerede kullanırsanız kullanın, python otomatik olarak __getitem__
sizin için bir yöntemdir ve öğelere erişmenin kısayoludur. Ancak, özel nesneler için dizin oluşturma davranışını değiştirmek isterseniz, açıkça şunu çağırmanız gerekir: __getitem__
yöntemi.
Örnek #01
Önce kolay bir örnekle başlayalım. Tüm öğrencilerin listesine sahip olacak bir Öğrenci sınıfı oluşturacağız ve onlara dizine göre erişebileceğiz ve dizinin benzersiz öğrenci kimliklerini temsil ettiğini düşüneceğiz.
class Student: def __init__(self, names): self.names=names def __getitem__(self,index): return self.names[index] section_A= Student(["David", "Elsa", "Qasim"])
print(section_A[2])
Çıktı:
Şimdi, kullanarak indeksleme davranışını değiştireceğimiz gelişmiş bir örneğe geçeceğiz. __getitem__
yöntem. Diyelim ki bir dize öğeleri listem var ve öğeyi dizin konumunu her girdiğimde almak istiyorum ve dizenin kendisini girersem dizin konumunu da alabilirim.
class MyList: def __init__(self, items): self.items = items def __getitem__(self, index): if isinstance(index, int): return self.items[index] elif isinstance(index, str): return self.items.index(index) else: raise TypeError("Invalid Argument Type") my_list = MyList(['red', 'blue', 'green', 'black']) # Indexing with integer keys
print(my_list[0]) print(my_list[2]) # Indexing with string keys
print(my_list['red']) print(my_list['green'])
Çıktı:
red
green
0 2
Bu yöntem, örnek özniteliklerinin hızlı aranması için son derece kullanışlıdır. Bu yöntemin esnekliği ve çok yönlülüğü göz önüne alındığında, bunun Python'un en az kullanılan sihirli yöntemlerinden biri olduğunu söyleyebilirim. Umarım bu makaleyi okumaktan zevk almışsınızdır ve Python'daki diğer sihir yöntemleriyle ilgileniyorsanız yorum bölümünde bana bildirin.
Kanval Mehreen veri bilimine ve yapay zekanın tıptaki uygulamalarına büyük ilgi duyan, gelecek vadeden bir yazılım geliştiricisidir. Kanwal, APAC bölgesi için Google Generation Scholar 2022 olarak seçildi. Kanwal, trend olan konularda makaleler yazarak teknik bilgilerini paylaşmayı seviyor ve teknoloji endüstrisinde kadınların temsilini geliştirme konusunda tutkulu.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Kaynak: https://www.kdnuggets.com/2023/03/introduction-getitem-magic-method-python.html?utm_source=rss&utm_medium=rss&utm_campaign=introduction-to-__getitem__-a-magic-method-in-python
- :dır-dir
- 2022
- 8
- a
- Hakkımızda
- erişim
- erişme
- Başarmak
- ileri
- AI
- Tıpta AI
- Türkiye
- Izin
- analiz
- ve
- Asya Pasifik
- uygulamaları
- ARE
- tartışma
- göre
- mal
- AS
- can atan
- ilişkili
- öznitelikleri
- otomatik olarak
- BE
- faydaları
- Siyah
- Mavi
- yerleşik
- by
- çağrı
- denilen
- aramalar
- CAN
- değişiklik
- sınıf
- kod
- Toplamak
- yorum Yap
- tamamlamak
- kavramlar
- Düşünmek
- düşünen
- Konteynerler
- yaratmak
- görenek
- veri
- veri analizi
- veri bilimi
- David
- derin
- tanımlar
- Geliştirici
- farklı
- keşfetmek
- çift
- e
- kolay
- verimli
- eleman
- elemanları
- etkinleştirme
- Keşfet
- gerekli
- Hatta
- örnek
- çıkarmak
- son derece
- tanıdık
- az
- Ad
- Esneklik
- şu
- İçin
- itibaren
- işlev
- fonksiyonel
- işlevsellik
- nesil
- almak
- Goller
- yardımlar
- büyük
- Yeşil
- ele
- Var
- yardım et
- okuyun
- başlık
- umut
- Ne kadar
- HTTPS
- i
- ID
- uygulama
- geliştirme
- in
- indeks
- sanayi
- bilgi
- örnek
- yerine
- faiz
- ilgili
- ilginç
- Giriş
- IT
- ürün
- ONUN
- kendisi
- KDNuggets
- Keskin
- anahtarlar
- Bilmek
- bilgi
- dil
- öğrenme
- sevmek
- hatları
- Liste
- Listeler
- yükleme
- arama
- makine
- makine öğrenme
- sihirli
- Sürdürülebilir
- manipüle
- çok
- tıp
- Bellek
- yöntem
- yöntemleri
- olabilir
- Daha
- çoğu
- hareket
- isimleri
- gerek
- nesne
- nesneler
- of
- on
- ONE
- Şebeke
- sıradan
- Diğer
- parametre
- tutkulu
- Platon
- Plato Veri Zekası
- PlatoVeri
- pozisyon
- mümkün
- güç kelimesini seçerim
- Programcı
- Python
- Hızlı
- yükseltmek
- Okuma
- Kırmızı
- bölge
- temsil
- temsil
- gereklidir
- dönüş
- s
- Bilim
- Bölüm
- seçilmiş
- SELF
- paylaş
- steno
- meli
- Dilim
- So
- Software
- biraz
- özel
- başlama
- Açıklama
- yapı
- Öğrenci
- Öğrenciler
- böyle
- çevrili
- sözdizimi
- alır
- teknoloji
- teknoloji endüstrisi
- Teknik
- o
- The
- ve bazı Asya
- Onları
- Bunlar
- Düşünmek
- için
- Konular
- uzanımlı
- türleri
- altında
- anlamak
- benzersiz
- us
- kullanım
- kullanım
- kullanıcılar
- değer
- asa
- geniş ölçüde
- irade
- ile
- içinde
- olmadan
- Kadın
- teknik kadro
- olur
- yazmak
- yazı yazıyor
- zefirnet