一般的に使用されるPythonのマジックメソッドとは?

Pythonではマジックメソッド(特殊メソッド)と呼ばれる、二重のアンダースコアで始まり終わるメソッドがあり、クラスの振る舞いや操作の定義で使用されています。以下はよく使用されるPythonマジックメソッドの一部です:

  1. 初期化メソッド。インスタンス生成時に呼ばれる。
  2. __str__(self): オブジェクトの文字列表現を返します。これは str() 関数や print() ステートメントを使って呼び出すことができます。
  3. オブジェクトの「公式」文字列表現を返す。repr() 関数呼び出しからアクセス可能。
  4. __len__(self): オブジェクトのサイズを返す(組み込み関数 len() で呼び出せる)
  5. インデックス、またはキーでオブジェクトにアクセスするための、インデックスまたはキーに対応する値を返します。
  6. インデックスまたは鍵に相当する値を設定します。
  7. 指定したインデックスまたはキーに対応する値を削除します。
  8. イテレータを返します(for ループなどで使用します)。
  9. __next__(self): イテレータの次の値を返します。
  10. in 演算子で利用できる、オブジェクトの中に特定の要素が含まれているかどうかを判断します。
  11. __eq__(self, other): 等価性比較演算子 == を定義します。
  12. __ne__(self, other): オブジェクトの不等性を比較する演算子 != を定義します。
  13. __lt__(self, other): より小さい比較演算子 < を定義する。
  14. __gt__(self, other): 比較演算子 > を定義します。
  15. __le__(self, other): 小なりまたは等しい比較演算子<= を定義します。
  16. __ge__(self, other): より大きい、または等しいという比較演算子>=を定義します。
  17. +演算子の定義
  18. 演算子 – の減算を定義する。
  19. 定義マルチプリケーション演算子*。
  20. __div__(self, other): 除算演算子/を定義する。

ご紹介したものは、よく利用されるマジック関数の一部にすぎません。Python には、クラスの挙動や動作をカスタマイズするために利用できる、他にもたくさんのマジック関数があります。

bannerAds