Saya telah membaca sebagian besar dokumentasi __getitem__di dalam dokumen Python, tetapi saya masih tidak dapat memahami artinya.
Jadi yang bisa saya mengerti adalah yang __getitem__digunakan untuk mengimplementasikan panggilan seperti self[key]. Tapi apa gunanya?
Katakanlah saya memiliki kelas python yang ditentukan dengan cara ini:
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"])
Ini mengembalikan hasil seperti yang diharapkan. Tapi mengapa digunakan __getitem__di tempat pertama? Saya juga mendengar bahwa Python memanggil secara __getitem__internal. Tapi mengapa melakukannya?
Bisakah seseorang menjelaskan ini lebih detail?
__getitem__digunakan dalam contoh Anda tidak membuat banyak akal, tapi bayangkan bahwa Anda perlu untuk menulis daftar-kustom atau kamus-seperti kelas, yang harus bekerja dengan kode yang sudah ada yang menggunakan []. Itu adalah situasi __getitem__yang berguna.