オブジェクト指向プログラミングでは、基本クラスを継承してその機能を拡張するのが一般的です。 Python では、基本クラスを初期化するスーパー コンストラクターを呼び出すことが、シームレスなクラス継承にとって最も重要です。
他の言語ではスーパー コンストラクターは暗黙的に呼び出されますが、Python では明示的な呼び出しが必要です。 super(self) だけで十分だという一般的な期待に反して、そうではありません。正しいアプローチを見てみましょう。
Python 3 では、スーパー コンストラクターを呼び出す簡略化された方法が導入されています。
class A(object): def __init__(self): print("world") class B(A): def __init__(self): print("hello") super().__init__() # Python 3 syntax
ここでは、super() が続きます。 __init__() により、スーパー コンストラクターが明示的に呼び出されます。
Python 2 では、もう少し冗長な構文が必要です。
class A(object): def __init__(self): print "world" class B(A): def __init__(self): print "hello" super(B, self).__init__() # Python 2 syntax
ここでは、 super には、現在のインスタンスを参照するためにクラス名 B と self が渡されます。
Python では、スーパー コンストラクターの適切な呼び出しをマスターすることが重要です。 Python 2 と Python 3 の構文の違いを理解すると、シームレスな継承が保証され、コード内の予期しない動作が防止されます。
以上がPython でスーパー コンストラクターを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。