クラスの特殊メソッド 長さ「len()」を返す __len__
Pythonのクラスにおいて、オブジェクトの長さ(要素の数など)を返すための特殊メソッドとして、__len__ メソッドを定義できます。このメソッドを実装することで、len() 関数を使ってオブジェクトの長さを取得できます。
__len__ メソッドは、オブジェクトがシーケンス型(リスト、文字列、タプルなど)であるかのように振る舞うようにカスタマイズできます。このメソッドを実装すると、len() 関数を使ってオブジェクトの長さを簡単に取得できます。
以下は、__len__ メソッドを使ってカスタムクラス内でオブジェクトの長さをカスタマイズする例です:
python
class MyList: def __init__(self, items): self.items = items def __len__(self): return len(self.items) # インスタンスを作成 my_list = MyList([1, 2, 3, 4, 5]) # オブジェクトの長さを取得 length = len(my_list) print(length) # 結果: 5
この例では、MyList クラス内に __len__ メソッドが定義されており、このメソッドは内部のリストの長さを返しています。したがって、len(my_list) を呼び出すと、__len__ メソッドが実行されてオブジェクトの長さが取得されます。
__len__ メソッドは、カスタムクラスがシーケンス型のオブジェクトを模倣する場合に非常に便利です。リスト、タプル、文字列などと同じように、len() 関数を使ってオブジェクトの長さを取得できます。

ディスカッション
コメント一覧
まだ、コメントがありません