Pythonでの継承| Pythonの継承[例付き]
公開: 2020-12-14Pythonは、最も人気のあるプログラミング言語の1つです。 Python2バージョンからPython3への浮き沈みに満ちた移行にもかかわらず、オブジェクト指向プログラミング言語の人気は大幅に高まっています。
Python開発者としてのキャリアを計画している場合は、より高い支払いが必要になります。 Python開発者の平均給与は年間約119,082ドルです。 しかし、Python学習プログラムに進む前に、最初に知っておくべきことがあります-Pythonでの継承。 Pythonやその他のツールの専門知識を習得したい場合は、データサイエンス認定を確認してください。
まず、Pythonの継承とは正確には何ですか?
目次
Pythonの継承とは何ですか?
親子関係と同様に、継承は基本クラスに関連する派生クラスで機能します。 すべての「派生」クラスは「基本」クラスから継承します。 継承は、UMLまたは統一モデリング言語で表されます。 これは、開発者がソフトウェアシステム要素を指定、構造化、および文書化するのに役立つ統合された一連の図を含む標準のモデリング言語です。
継承関係は、他のクラスから継承するクラスを派生クラス、サブクラスクラス、またはサブタイプクラスとして定義します。 基本クラスは、サブクラスが継承するソースのままです。 たとえば、「動物」の基本クラスがあり、「ライオン」は派生クラスです。 継承はライオンは動物です。
では、問題は、「Lion」クラスが「Animal」から何を継承するのかということです。
「ライオン」クラスは継承します
- インターフェース
- 実行
注:リスコフの置換原則と呼ばれるアプリケーションでは、派生クラスオブジェクトを基本クラスオブジェクトに置き換えることができます。 これは、コンピュータプログラムがQのサブタイプとしてオブジェクトPを持っている場合、プロパティを変更せずにPをQに簡単に置き換えることができることを示しています。
また、チェックアウト:インドのPython開発者給与
Pythonでの継承の利点
- Pythonの継承は、開発者がオブジェクトを再利用するのに役立ちます。
- クラスが基本クラスを継承するたびに、親オブジェクトの機能にアクセスできます。
- 基本クラスはすでにテストされているため、継承による再利用性も信頼できます。
- 低い開発時間とコスト
- クラス間のインターフェースの標準化が容易になります。
- コードの冗長性を減らし、拡張性の向上に役立ちます
- クラスライブラリの作成が簡単になります。
Pythonでの継承の種類
単一継承
単一の継承とは何か、つまり「Base」クラスからの「Derived」クラスの継承についてはすでに見てきました。 例を通してそれを理解しましょう、
クラス国:
def ShowCountry(self):
print( "これはスペインです");
クラスState(国):
def ShowState(self):
print( "これは状態です");
st = State();
st.ShowCountry();
st.ShowState();
マルチレベルの継承
Pythonはいくつかのオブジェクトで構成されており、マルチレベルの継承により、クラスの機能を再利用する可能性は無限にあります。 マルチレベルの継承は、派生クラスが別の派生クラスを継承するたびに文書化されます。 機能を継承できる派生クラスの数に制限はありません。そのため、マルチレベル継承はPythonでの再利用性の向上に役立ちます。
マルチレベル継承の例を次に示します
クラス動物:
def talk(self):
print(“動物を話す”)
#子クラスDogは基本クラスAnimalを継承します
クラス犬(動物):
def bark(self):
print(「犬の吠え」)
#子クラスDogchildは別の子クラスDogを継承します
クラスDogChild(Dog):
def eat(self):
print(「パンを食べる…」)
d = DogChild()
d.bark()
d.speak()
d.eat()
多重継承
Pythonを使用すると、開発者はさまざまな基本クラスから単一の派生クラスに複数の機能とプロパティを継承できます。 広範なツールやコーディングなしで複数の依存関係を継承できるため、これは主に優れた機能です。
多重継承の例を見てみましょう。
クラスCalculation1:
def Summation(self、a、b):
a+bを返します。
クラスCalculation2:
def Multiplication(self、a、b):
a*bを返します。

クラスDerived(Calculation1、Calculation2):
def Divide(self、a、b):
a/bを返します。
d = Derived()
print(d.Summation(10,20))
print(d.Multiplication(10,20))
print(d.Divide(10,20))
チェックアウト: Pythonで音声をテキストに変換する方法
派生クラスを識別する方法は?
Pythonには、開発者がクラスが派生クラスであるか基本クラスであるかを確認するのに役立つissubclass()関数が組み込まれています。 この関数を実行すると、サブクラスまたは派生クラスの場合は「True」、基本クラスの場合はFalseという結果が返されます。
開発者は、この例を通じてクラスを確認できます。
クラスmyAge:
年齢=36
クラスmyObj(myAge):
名前=「ジョン」
年齢=myAge
x = issubclass(myObj、myAge)
Pythonでクラス階層を作成するにはどうすればよいですか?
Pythonでの継承は、クラスの階層を作成するのに役立ちます。 すべての相対クラスは、相互に通信するための共通のインターフェースを共有します。 基本クラスはインターフェースを定義します。 派生クラスは、インターフェイスの特定の特殊化を提供できます。 ここでは、クラス階層を示すためにHRモデルを調査しています。
人事システムは、さまざまな会社員の給与を処理します。 各労働者はIDによって識別され、計算されるさまざまな給与ポジションがあります。
まず、「ベース」オブジェクトとして給与クラスを作成しましょう。
#hr.pyで
クラスPayrollSystem:
defcalculate_payroll(self、workers):
print('給与の計算')
print('===================')
労働者の労働者のために:
print(f'Payroll for:{worker.id} – {worker.name}')
print(f'-金額を確認:{worker.calculate_payroll()}')
print(”)
PayrollSystemは、 .calculate_payroll()メソッドを実行します。このメソッドは、ワーカーの情報を収集し、IDと名前を出力して、給与額をチェックします。 ここで、すべてのワーカータイプの標準インターフェイスに取り組む基本クラスワーカーを実行します。
#hr.pyで
クラスワーカー:
def __init __(self、id、name):
self.id = id
self.name = name
会社内のすべてのワーカータイプのワーカー基本クラスを作成すると、HRシステムの階層が簡単になります。 すべてのワーカーには名前とIDが割り当てられます。 人事システムでは、ワーカーが.calculate_payroll()インターフェイスを介して週給に関するデータを提供する必要があります。 このインターフェースの実行は、ワーカーのタイプによって異なる場合があります。
必読:Pythonインタビューの質問
結論
ここでは、さまざまなPythonクラスを作成し、それらの間に関係を確立し、さらにはクラス階層を設定する方法を学びました。 ただし、Pythonでの継承は、ここで説明した機能に限定されません。
機械学習とAIの事前認定:インドで最高の教育機関の1つであるIIT madrasは、upGradと提携して、個人がこのコースで機械学習の完全な知識を持つための機械学習に関する高度なコースを作成しました。
データサイエンスについて知りたい場合は、IIIT-B&upGradのデータサイエンスのエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。1業界のメンターとの1対1、400時間以上の学習、トップ企業との仕事の支援。
Pythonで継承が重要なのはなぜですか?
継承とは、親クラスのプロパティを子クラスに渡すプロセスを指します。 これはオブジェクト指向プログラミング(OOP)の概念であり、Pythonでは重要です。 これは、継承によってコードの再利用性が提供されるためです。つまり、同じコードを何度も記述する代わりに、子クラスで必要な属性を継承できます。 また、親クラスと子クラスの間の実際の関係を示しているため、理解と実装も簡単です。 それは推移的な性質を持っています。 すべての子クラスは親からプロパティを継承するため、どのサブクラスも同様に親クラスの機能を使用します。
Pythonの学習中に継承は必要ですか?
はい、Pythonを学びながら継承を学ぶ必要があります。 大規模なPythonアプリケーションでは、現在の市場でPythonプログラマーの数を増やす必要があります。 この急増により、Pythonを学ぶ人の数が増えています。 Pythonプログラミング言語は、継承などの概念が豊富です。 このオブジェクト指向プログラミング言語の重要な概念の1つは、継承です。 継承によりコードの再利用性、可読性、プロパティの移行が可能になるため、Pythonの学習中に継承を学習することが不可欠です。 継承は、正確で効率的なコードの作成に役立ちます。
Pythonでは、どのタイプの継承がサポートされていませんか?
Pythonでは、他のオブジェクト指向プログラミング言語とは異なり、多重継承を含むすべての形式の継承が可能です。 継承の概念を使用して、既存のクラスから新しいクラスを構築することができます。 これにより、コードの再利用が容易になります。 親クラスで指定されたメソッドは、子クラスでも使用されます。 C ++でもこの種の継承が可能ですが、Pythonの高度で適切に設計された方法論が欠けています。 Pythonはハイブリッド継承も提供します。これにより、1つのコードで多くの種類の継承を実装できます。 コードの再利用性は継承の強みであるため、Pythonを使用する場合はさまざまなアプリケーションで役立ちます。