ホームページ バックエンド開発 Python チュートリアル Python で super() 関数を使用して親クラスのメソッドを呼び出す方法

Python で super() 関数を使用して親クラスのメソッドを呼び出す方法

Aug 22, 2023 pm 04:15 PM
スーパー()関数 Pythonで親クラスのメソッドを呼び出す super() 関数を使用して親クラスのメソッドを呼び出す

Python で super() 関数を使用して親クラスのメソッドを呼び出す方法

super() 関数を使用して Python で親クラスのメソッドを呼び出す方法

Python では、親クラスを継承する必要がよくあります。サブクラスが親クラスからの継承に基づいて特別な操作を実行する必要がある場合、親クラスのメソッドを呼び出す必要があります。 Python では、super() 関数を使用してこの目的を達成できます。

super() 関数は、親クラスのメソッドを呼び出すための Python の特別なメソッドです。これにより、親クラスの名前を明示的に指定せずに、サブクラスの super() 関数を通じて親クラスのメソッドを呼び出すことができます。この呼び出しメソッドは、コードの再利用とメンテナンスに役立ちます。

以下では、簡単な例を使用して、super() 関数を使用して親クラスのメソッドを呼び出すプロセスを示します。動物クラス Animal と、Animal クラスを継承する犬クラス Dog があるとします。 Dog クラスが親クラスの Animal のメソッドを呼び出せるようにしたいと考えています。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

class Animal:

    def __init__(self, name):

        self.name = name

 

    def speak(self):

        print("动物发出声音")

 

class Dog(Animal):

    def __init__(self, name, breed):

        super().__init__(name)

        self.breed = breed

 

    def speak(self):

        super().speak()

        print("狗叫")

 

# 创建一个狗的实例

my_dog = Dog("旺财", "哈士奇")

my_dog.speak()

ログイン後にコピー

上記のコードでは、最初に動物クラス Animal を定義します。これには、動物が発する音を出力し、初期化中に動物の名前を保存するための speech() メソッドがあります。

次に、動物クラス Animal を継承する犬クラス Dog を定義します。犬クラスの初期化メソッドでは、super() 関数を使用して親クラスの初期化メソッドを呼び出し、動物の名前を取得して保存します。次に、speak() メソッドを定義しました。このメソッドでは、super().speak() を通じて親動物の speech() メソッドを呼び出し、「犬の鳴き声」を出力しました。

最後に、犬 my_dog のインスタンスを作成し、その speech() メソッドを呼び出します。このコードを実行すると、出力は次のようになります。

1

2

动物发出声音

狗叫

ログイン後にコピー

出力からわかるように、my_dog インスタンスは最初に親動物の speech() メソッドを呼び出し、次に「犬の鳴き声」を出力します。これは、 super() 関数を使用して親クラスのメソッドを呼び出すことができたことを示しています。

super() 関数のパラメーターに親クラスの名前を指定する必要はなく、サブクラスのクラス定義に基づいて親クラスが自動的に検索されることに注意してください。これは、解決された順序で各親クラスのメソッドを自動的に呼び出すため、複数の継承の状況で特に役立ちます。

要約すると、super() 関数を使用すると、親クラスのメソッドを簡単に呼び出して、コードの再利用とメンテナンスを実現できます。サブクラスで super() 関数を使用して親クラスのメソッドを呼び出すだけでよく、親クラスの名前を明示的に指定する必要はありません。これは、Python で親クラスから継承する便利な方法であり、複数の継承シナリオに適用できます。

以上がPython で super() 関数を使用して親クラスのメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現とは何ですか? 正規表現とは何ですか? Mar 20, 2025 pm 06:25 PM

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

人気のあるPythonライブラリとその用途は何ですか? 人気のあるPythonライブラリとその用途は何ですか? Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

See all articles