Moștenirea în Python | Moștenirea Python [cu exemplu]

Publicat: 2020-12-14

Python este unul dintre cele mai populare limbaje de programare. În ciuda unei tranziții pline de suișuri și coborâșuri de la versiunea Python 2 la Python 3, limbajul de programare orientat pe obiecte a cunoscut un salt masiv în popularitate.

Dacă plănuiți pentru o carieră ca dezvoltator Python, sunteți obligat să aveți o plată mai mare. Deoarece salariul mediu pentru un dezvoltator Python este de aproximativ 119.082 USD pe an. Dar, înainte de a continua cu programul de învățare Python, iată ceva ce ar trebui să știți mai întâi - Moștenirea în Python. Consultați certificările noastre de știință a datelor dacă sunteți dornic să obțineți experiență în python și alte instrumente.

Să începem mai întâi cu ce este exact moștenirea în Python?

Cuprins

Ce este o moștenire în Python?

La fel ca o relație părinte-copil, moștenirea funcționează pe clase derivate în raport cu clasa de bază. Fiecare clasă „derivată” moștenește dintr-o clasă „de bază”. Moștenirea este reprezentată în UML sau Unified Modeling Language. Este un limbaj de modelare standard care include un set integrat de diagrame pentru a ajuta dezvoltatorii să specifice, să structureze și să documenteze elementele sistemelor software.

Relația de moștenire definește clasele care moștenesc de la alte clase ca clase derivate, subclase sau subtip. Clasa de bază rămâne sursa de la care moștenește o subclasă. De exemplu, aveți o clasă de bază „Animal”, iar un „Leu” este o clasă derivată. Moștenirea va fi Leul este un animal.

Deci, întrebarea este, ce moștenește clasa „Leul” de la „Animal”?

O clasă „Leu” moștenește

  • Interfață
  • Execuţie

Notă: Puteți înlocui obiectele de clasă derivată cu obiecte de clasă de bază într-o aplicație cunoscută sub numele de principiul substituției Liskov . Indică faptul că, dacă un program de calculator are obiectul P ca subtip al lui Q, puteți înlocui cu ușurință P cu Q fără a modifica proprietățile.

De asemenea, verificați: Salariu pentru dezvoltatori Python în India

Avantajele moștenirii în Python

  • Moștenirea în Python ajută dezvoltatorii să refolosească obiectele.
  • De fiecare dată când o clasă moștenește clasa de bază, are acces la funcționalitatea obiectului părinte.
  • Reutilizarea datorită moștenirii este de asemenea fiabilă, deoarece clasa de bază este deja testată.
  • Timp și cost redus de dezvoltare
  • Standardizarea interfeței între clase devine ușoară.
  • Reduce redundanța codului și ajută la îmbunătățirea extensibilității
  • Crearea bibliotecilor de clasă devine ușoară.

Tipuri de moștenire în Python

Moștenire unică

Am văzut deja ce este moștenirea unică - moștenirea clasei „Derivat” din clasa „Base”. Să înțelegem printr-un exemplu,

clasa Tara:

def ShowCountry(self):

print(„Aceasta este Spania”);

clasa Stat(Țara):

def ShowState(self):

print(„Aceasta este starea”);

st =Stare();

st.ShowCountry();

st.ShowState();

Moștenire pe mai multe niveluri

Python este format din mai multe obiecte, iar cu moștenirea pe mai multe niveluri, există posibilități nesfârșite de reutilizare a funcționalităților clasei. Moștenirea pe mai multe niveluri este documentată de fiecare dată când o clasă derivată moștenește o altă clasă derivată. Nu există o limită a numărului de clase derivate care pot moșteni funcționalitățile și de aceea moștenirea pe mai multe niveluri ajută la îmbunătățirea reutilizabilității în Python.

Iată un exemplu de moștenire pe mai multe niveluri

clasa Animal:

def vorbi (auto):

print(„Animal Speaking”)

#Clasa copil Câine moștenește clasa de bază Animal

clasa Câine (Animal):

def bark(self):

print(„latra de caine”)

#The child class Dogchild moștenește un alt copil de clasă Dog

clasa DogChild(Câine):

def eat(self):

print(„Mâncând pâine…”)

d = DogChild()

d.bark()

d.vorbește()

d.eat()

Moștenirea multiplă

Python le permite dezvoltatorilor să moștenească mai multe funcționalități și proprietăți din diferite clase de bază într-o singură clasă derivată. Este în mare parte o caracteristică grozavă, deoarece vă poate permite să moșteniți mai multe dependențe fără instrumente extinse sau codare.

Să ne uităm la un exemplu pentru moșteniri multiple.

clasa de calcul 1:

def Însumare(self,a,b):

returnează a+b;

clasa de calcul 2:

def Înmulțire(self,a,b):

returnează a*b;

clasa Derivată(Calcul1,Calcul2):

def Divide(self,a,b):

returnare a/b;

d = Derivat()

imprimare(d.Sumare(10,20))

print(d.Multiplicare(10,20))

print(d.Divide(10,20))

Consultați: Cum se transformă vorbirea în text cu Python

Cum se identifică o clasă derivată?

Python vine cu o funcție încorporată issubclass() care îi ajută pe dezvoltatori să verifice dacă o clasă este una derivată sau o clasă de bază. Odată ce rulați această funcție, se întoarce cu un rezultat „True” pentru subclasă sau o clasă Derivată, în timp ce False pentru clasa de bază.

Un dezvoltator poate verifica clasa prin acest exemplu.

clasa myAge:

varsta = 36

clasa myObj(myAge):

nume = „Ioan”

varsta = myAge

x = issubclass(myObj, myAge)

Cum se creează o ierarhie de clasă în Python?

Moștenirea în Python ajută la crearea ierarhiilor de clase. Toate clasele relative vor împărtăși o interfață comună pentru a comunica între ele. O clasă de bază definește interfața. Clasele derivate pot oferi specializarea specifică a interfeței. Aici, explorăm un model HR pentru a demonstra ierarhia claselor.

Sistemul de resurse umane va procesa salariile pentru diferiți angajați ai companiei; fiecare lucrător este identificat printr-un act de identitate și are diferite posturi de salarizare de calculat.

Să creăm mai întâi o clasă de salarizare ca obiect „Base”.

# În hr.py

clasa PayrollSystem:

def calculate_payroll(self, lucrători):

print('Calculul salariilor')

print('===================')

pentru lucrător în muncitori:

print(f'Statul de plată pentru: {worker.id} – {worker.name}')

print(f'- Suma verificată: {worker.calculate_payroll()}')

imprimare(")

PayrollSystem execută o metodă .calculate_payroll() care colectează informațiile lucrătorului, îi imprimă id-ul, numele și verifică suma salariului . Acum, rulați un lucrător de clasă de bază care abordează interfața standard pentru fiecare tip de lucrător:

# În hr.py

muncitor de clasa:

def __init__(self, id, name):

self.id = id

self.name = nume

Crearea unei clase de bază pentru lucrători pentru toate tipurile de lucrători din companie facilitează ierarhia sistemului de resurse umane. Fiecărui lucrător i se atribuie un nume și un id. Sistemul de resurse umane cere lucrătorului să furnizeze date privind salariul săptămânal prin interfața .calculate_payroll(). Execuția acestei interfețe poate diferi în funcție de tipul de lucrător.

Trebuie citit: Întrebări de interviu Python

Concluzie

Aici, am învățat să creăm diferite clase Python, să stabilim relații între ele și chiar să stabilim ierarhia claselor. Dar, moștenirea în Python nu se limitează la funcționalitățile menționate aici.

Certificare avansată în învățarea automată și IA : IIT madras, una dintre cele mai bune instituții de învățământ din India, s-a asociat cu upGrad pentru a realiza un curs avansat de învățare automată pentru ca oamenii să aibă cunoștințe complete despre învățarea automată cu acest curs.

Dacă sunteți curios să aflați despre știința datelor, consultați programul Executive PG în știința datelor de la IIIT-B și upGrad, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1 -on-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

De ce este semnificativă moștenirea în Python?

Moștenirea se referă la procesul de transmitere a proprietăților unei clase părinte către o clasă copil. Este un concept de programare orientată pe obiecte (OOP) și este semnificativ în Python. Se datorează faptului că moștenirea oferă reutilizarea codului, ceea ce înseamnă că în loc să scriem același cod din nou și din nou, putem moșteni atributele de care avem nevoie într-o clasă copil. Este, de asemenea, ușor de înțeles și implementat, deoarece descrie o relație reală între clasele de părinți și copii. Are un caracter tranzitiv. Deoarece toate clasele copil moștenesc proprietăți de la părinții lor, orice subclase va folosi, de asemenea, funcționalitățile clasei părinte.

Este necesară moștenirea în timp ce învățați Python?

Da, învățarea moștenirii este necesară în timp ce învățați Python. Aplicațiile masive Python necesită o creștere a numărului de programatori Python de pe piața actuală. Această creștere a dus la o creștere a numărului de oameni care învață Python. Limbajul de programare Python este bogat în noțiuni precum moștenirea. Unul dintre conceptele esențiale din acest limbaj de programare orientat pe obiecte este moștenirea. Deoarece moștenirea permite reutilizarea codului, lizibilitatea și tranziția proprietăților, învățarea acestuia în timp ce învățați Python este imperativă. Moștenirea ajută la crearea unui cod precis și eficient.

În Python, ce tipuri de moștenire nu sunt acceptate?

Python permite toate formele de moștenire, inclusiv moșteniri multiple, spre deosebire de alte limbaje de programare orientate pe obiecte. Este posibil să se construiască noi clase din cele preexistente folosind conceptul de moștenire. Acest lucru facilitează reutilizarea codului. Metodele specificate în clasa părinte sunt folosite și în clasa copil. În timp ce C++ permite și acest tip de moștenire, îi lipsește metodologia avansată și bine concepută a lui Python. Python oferă chiar și moștenire hibridă, ceea ce ne permite să implementăm multe tipuri de moștenire într-o singură bucată de cod. Deoarece reutilizarea codului este un punct forte al moștenirii, este util într-o gamă largă de aplicații atunci când lucrați cu Python.