Ich habe den größten Teil der Dokumentation von durchgesehen __getitem__ in den Python-Dokumenten , kann aber immer noch nicht verstehen, was das bedeutet.
Alles was ich verstehen kann ist, dass __getitem__es verwendet wird, um Aufrufe wie zu implementierenself[key] . Aber wozu dient es?
Nehmen wir an, ich habe eine Python-Klasse, die folgendermaßen definiert ist:
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"])
Dies gibt die Ergebnisse wie erwartet zurück. Aber warum überhaupt verwenden __getitem__? Ich habe auch gehört, dass Python __getitem__intern anruft . Aber warum macht es das?
Kann jemand dies bitte genauer erklären?
__getitem__Verwendung in Ihrem Beispiel macht nicht viel Sinn, aber stellen Sie sich vor, Sie müssen eine benutzerdefinierte listen- oder wörterbuchähnliche Klasse schreiben, die mit vorhandenem Code arbeiten muss, der verwendet wird []. Das ist eine Situation, in der __getitem__es nützlich ist.