[解決済み] Pythonで'super'は何をするのですか?- super().__init__() と明示的なスーパークラス __init__() の違い
2022-03-14 03:48:53
質問
の違いは何ですか?
class Child(SomeBaseClass):
def __init__(self):
super(Child, self).__init__()
とします。
class Child(SomeBaseClass):
def __init__(self):
SomeBaseClass.__init__(self)
見たことある
super
は単一継承のクラスでよく使われます。多重継承で使う理由はわかりますが、このような状況で使うメリットは何なのかが不明です。
どのように解決するのですか?
のメリット
super()
主に、親メソッドを使用するすべてのメソッドに基底クラスの名前をハードコードする必要がないことです。
しかし、多重継承の場合は
super()
. これには、ミキシン、インターフェース、抽象クラスなどの一般的なイディオムが含まれます。これは、後であなたのコードを拡張するコードにも及びます。もし、誰かが後から
Child
とmixinがあると、そのコードは正しく動作しないでしょう。
関連
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] mixinとは何か、なぜ有用なのか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Pythonコンテナのための組み込み汎用関数操作
-
pythonを使ったオフィス自動化コード例
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
PythonはWordの読み書きの変更操作を実装している
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] Pythonのsuper()と__init__()メソッドの理解【重複