Pythonは全てがオブジェクトで、そのオブジェクトは全てobject
というクラスから継承しています。このobject
クラス内の関数は全てDunder(Double underscore)であり、これらの関数は特殊メソッドまたはマジックメソッドとも呼ばれます。
Dunderメソッドの一部を以下に示します:
__init__(self [, ...])
:インスタンスの初期化。インスタンスを生成すると実行される関数。__new__(cls)
:インスタンスの生成。インスタンス生成前に実行される関数。__del__(self)
:インスタンスが削除されるときに実行される。__repr__(self)
:オブジェクトを表す公式の文字列を計算して返す。__str__(self)
:オブジェクトを表す(非公式の)表示に適した文字列を計算する。__bytes__(self)
:オブジェクトのバイト文字列表現を計算する。__format__(self, format_spec)
:オブジェクトのフォーマットされた表示を計算する。__hash__(self)
:オブジェクトのハッシュ値を返す。__bool__(self)
:オブジェクトのブール値を計算する。
これらのDunderメソッドを理解し、適切に使用することで、Pythonのクラスとオブジェクトの扱いがより深く理解でき、より効率的なコードを書くことができます。