クラスの特殊メソッド 辞書型「{}」使用時に活用する __getitem__

Pythonのクラスにおいて、辞書型 ({}) でキーを指定してオブジェクトの値を取得するための特殊メソッドとして、__getitem__ メソッドを定義できます。このメソッドを実装することで、インデックスやキーを使用してオブジェクトの特定の要素にアクセスできます。

__getitem__ メソッドは、オブジェクトが辞書型のように動作するようにカスタマイズできます。このメソッドを実装すると、インスタンス変数や内部データ構造などにアクセスして、指定されたキーに対応する値を返すことができます。

以下は、__getitem__ メソッドを使ってカスタムクラス内でオブジェクトの値を取得する例です:

python
class MyDictionary: def __init__(self): self.data = {} def __setitem__(self, key, value): self.data[key] = value def __getitem__(self, key): return self.data[key] # インスタンスを作成 my_dict = MyDictionary() # キーと値を設定 my_dict['name'] = 'Alice' my_dict['age'] = 30 # キーを指定して値を取得 name = my_dict['name'] age = my_dict['age'] print(name) # 結果: 'Alice' print(age) # 結果: 30

この例では、MyDictionary クラス内に __getitem__ メソッドが定義されており、このメソッドは指定されたキーに対応する値を返します。my_dict['name'] および my_dict['age'] を使用してキーを指定すると、__getitem__ メソッドが実行されて該当の値が取得されます。

__getitem__ メソッドを実装することで、カスタムクラスのオブジェクトを辞書型のように使用できます。このメソッドをカスタマイズすることで、オブジェクトの内部データにアクセスし、必要な情報を取得できます。