ホームページ > バックエンド開発 > Python チュートリアル > Python でサブクラスが親クラスの関数を呼び出す方法のコード例

Python でサブクラスが親クラスの関数を呼び出す方法のコード例

黄舟
リリース: 2017-08-20 10:51:30
オリジナル
1322 人が閲覧しました

Pythonのクラスの初期化メソッドは__init__()なので、親クラスとサブクラスの初期化メソッドは次の記事で主にPythonでサブクラスが親クラスの関数を呼び出す例を紹介しています。非常に詳しく紹介されているので、困っている友達は参考にしてください。

はじめに

この記事では、Python のサブクラスによる親クラスの関数の呼び出しに関する関連内容を主に紹介します。Python のサブクラスの __init__() 関数は、場合によっては親クラスの関数をオーバーライドします。多くの場合、サブクラスで親クラスの関数を呼び出す必要があります。以下で言うことはあまりありません。詳細な紹介を見てみましょう:

次のルーチンでは、? ? ?ここで親クラスの関数を呼び出す必要があります。次に、ルーチンで詳しく説明します。


 # -*- coding:utf-8 -*-
 class Student:
  def __init__(self,name):
   self.name=name
  def ps(self):
   print('I am %s'%self.name)
 
 class Score(Student):
  def __init__(self,name,score):
   self.score=score
   ???12 12  def ps1(self):
   print('I\'m %s,%s' %(self.name,self.score))
 
 Score('Bob','99').ps()
 Score('Bob','99').ps1()
ログイン後にコピー

Python3.5では情報を参照すると以下のような呼び出しメソッドがあります。

最初の方法は直接法です。 parent_class.parent_attribute(self) の形式で親クラス名を使用して直接呼び出します。対応するルーチンは次のステートメントです: parent_class.parent_attribute(self) ,对应例程即语句:


Student.__init__(self,name)
ログイン後にコピー

第二种是通过super函数,形如 super(child_class, child_object).parent_attribute(arg) 。第一个参数表示调用父类的起始处,第二个参数表示类实例(一般使用self),父类方法的参数只有self时,参数args不用写。此外,类内部使用时,child_class, child_object也可省略。对应例程:


super(Score,self).__init__(name)
ログイン後にコピー

或者:


super().__init__(name)
ログイン後にコピー

在类外面也可使用super函数,但是要有child_class, child_object

rrreee 2 つ目は、スーパー関数を使用します。 super( child_class, child_object).parent_attribute(arg) の形式。第一引数は親クラスの呼び出し開始点を示し、第二引数はクラスインスタンス(通常はselfを使用します)を示します。親クラスのメソッドの引数がselfのみの場合、引数argsの記述は不要です。さらに、クラス内で使用する場合、child_classchild_object も省略できます。対応するルーチン:

🎜rrreee🎜 または: 🎜🎜🎜🎜rrreee🎜 クラスの外で super 関数を使用することもできますが、child_class が必要です。 >child_object 2 つのパラメータ。 🎜🎜🎜🎜概要🎜🎜🎜

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

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