__getitem__Python belgelerindeki belgelerin çoğunu inceledim, ancak hala anlamını kavrayamıyorum.
Yani tek anlayabildiğim, bunun __getitem__gibi çağrıları uygulamak için kullanıldığı self[key]. Ama bunun faydası nedir?
Diyelim ki şu şekilde tanımlanmış bir python sınıfım var:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def __getitem__(self,key):
print ("Inside `__getitem__` method!")
return getattr(self,key)
p = Person("Subhayan",32)
print (p["age"])
Bu beklendiği gibi sonuçları döndürür. Ama neden __getitem__ilk etapta kullanalım ? Python'un __getitem__dahili olarak aradığını da duydum . Ama bunu neden yapıyor?
Lütfen birisi bunu daha detaylı açıklayabilir mi?
__getitem__Sizin örnekte kullanımı anlamda bir sürü yapmak, ancak kullanımları bu kodu mevcut çalışmak zorunda olduğu, özel bir listesi-ya sözlük benzeri sınıfına yazmaya gerek hayal etmez []. Bu __getitem__yararlı olduğu bir durum .