私は__getitem__Pythonドキュメントのほとんどのドキュメントを読み終えましたが、それでもその意味を理解できません。
だから私が理解できるのは、それ__getitem__がのような呼び出しを実装するために使用されることだけself[key]です しかし、それの用途は何ですか?
このように定義されたpythonクラスがあるとしましょう:
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"])
これにより、期待どおりの結果が返されます。しかし、なぜ__getitem__そもそも使用するのでしょうか?Pythonが__getitem__内部的に呼び出すことも聞いたことがあります。しかし、なぜそれを行うのですか?
誰かがこれをより詳細に説明できますか?
__getitem__例での使用はあまり意味がありませんが、を使用する既存のコードで動作する必要があるカスタムのリストまたは辞書のようなクラスを作成する必要があると想像してください[]。それ__getitem__は便利な状況です。