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

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

Patricia Arquette
リリース: 2024-11-17 08:43:03
オリジナル
363 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート