Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Python3.x】RecursionError::__init_subclass__()メソッドの使い方

__init_subclass__メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

__init_subclass__メソッドは、クラスがサブクラス化される際に自動的に呼び出される特殊なメソッドです。このメソッドは、新しいサブクラスが定義された直後に、そのサブクラス自体に対して初期設定を行ったり、特定の条件を満たしているかを検証したりするために実行されます。

Pythonのすべてのクラスは、最終的に組み込みのobjectクラスを継承しており、このobjectクラスにデフォルトの__init_subclass__メソッドが定義されています。したがって、RecursionErrorクラスも同様に、このメソッドを継承しています。

RecursionErrorクラスの__init_subclass__メソッドは、開発者がRecursionErrorを継承して新しいカスタム例外クラスを作成する際に呼び出されます。このとき、デフォルトでは、新しく作られたサブクラスの初期化に関する基本的な処理が行われます。システムエンジニアを目指す初心者の方にとっては、通常、RecursionErrorのような組み込みの例外クラスの__init_subclass__メソッドを直接利用したり、その振る舞いを変更したりすることは稀です。しかし、クラス継承の仕組みを理解する上で、サブクラスが作られる際にこのような特別なメソッドが実行されていることを知っておくことは重要です。このメソッドは、クラスの構造や振る舞いをより柔軟に制御するための強力な機能を提供します。

構文(syntax)

1class RecursionError:
2    @classmethod
3    def __init_subclass__(cls, /, **kwargs):
4        pass

引数(parameters)

cls: type, /, **kwargs

  • cls: type: このメソッドが呼び出されたサブクラス自身
  • **kwargs: Any: サブクラスの初期化に追加で渡されるキーワード引数

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ