ホームページ >バックエンド開発 >Python チュートリアル >Python でスーパー コンストラクターを呼び出すにはどうすればよいですか?

Python でスーパー コンストラクターを呼び出すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-17 08:43:03359ブラウズ

How Do You Call the Super Constructor in Python?

Python でのスーパー コンストラクターの呼び出し: 謎の解明

オブジェクト指向プログラミングでは、基本クラスを継承してその機能を拡張するのが一般的です。 Python では、基本クラスを初期化するスーパー コンストラクターを呼び出すことが、シームレスなクラス継承にとって最も重要です。

他の言語ではスーパー コンストラクターは暗黙的に呼び出されますが、Python では明示的な呼び出しが必要です。 super(self) だけで十分だという一般的な期待に反して、そうではありません。正しいアプローチを見てみましょう。

Python 3 での Super の呼び出し

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 での Super の呼び出し

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。