ホームページ >バックエンド開発 >Python チュートリアル >Python での super() メソッドと __init__() メソッドの用途は何ですか

Python での super() メソッドと __init__() メソッドの用途は何ですか

silencement
silencementオリジナル
2019-05-23 18:22:487577ブラウズ

Python の super() メソッドと __init__() メソッドの機能: __init__() メソッドはオブジェクトのインスタンス変数の作成に使用され、super() メソッドは親クラスのメソッドの呼び出しに使用されます。

Python での super() メソッドと __init__() メソッドの用途は何ですか

__init__() は通常、オブジェクトのインスタンス変数を作成するため、または 1 回限りの操作のために使用されます。 super() は親クラスのメソッドを呼び出すために使用され、多重継承の問題を解決するために使用できます。単一継承では、super() と __init__() は同様の機能を持ちます。

(推奨チュートリアル: Python ビデオ チュートリアル)

主な違い:

super() 継承を使用する場合、基本クラス 、親クラスが変更されたときのメンテナンスが容易になります。

super() は新しいスタイルのクラスでのみ使用でき、オブジェクト object を継承する必要があります。多重継承の場合は継承順序が関係するため、クラス名を使って親クラスのメソッドを直接呼び出すと検索順序や繰り返し呼び出しなどの問題が発生します。 super() は、親クラスではなく、継承シーケンス内の次のクラスを返します。

単一継承で super() と __init__() によって実装された関数は似ています

Python での super() メソッドと __init__() メソッドの用途は何ですか

結果:

Python での super() メソッドと __init__() メソッドの用途は何ですか

#違いは、super() 継承を使用するときに基本クラスを明示的に参照する必要がないことです。

Super は親クラスではなく、継承シーケンスの次のクラスです。多重継承の場合、継承順序が関係します。super() は、親クラスではなく、継承順序の次のクラスを返すことと同等です。

以上がPython での super() メソッドと __init__() メソッドの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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