Ce este supraîncărcarea constructorului în Python? Cu Exemple

Publicat: 2023-01-29

Python este un limbaj de programare ușor de utilizat, care poate fi stăpânit cu ușurință de către începători. Acest limbaj de programare oferă o gamă largă de suport comunitar care ajută programatorii să exploreze mai multe moduri de implementare a codului. Bibliotecile standard în Python și modulele aduse de forumul comunității au permis posibilități infinite, inclusiv dezvoltare web și internet, GUI-uri desktop, acces la baze de date, Educație, aplicații științifice și numerice, programare în rețea, dezvoltare software și programe pentru dezvoltarea de jocuri. Acest limbaj open-source este dezvoltat sub licență aprobată de OSI. Prin urmare, poate fi folosit și distribuit gratuit. Python Software Foundation administrează licența Python.

Cuprins

Constructori în Python:

Funcția principală a unui constructor Python este de a instanția obiectele. În momentul creării obiectului, membrilor clasei de date li se atribuie valori sau sunt inițializați cu ajutorul constructorilor. Funcția _init_ este un constructor în Python. Este adesea numit atunci când este creat un obiect nou.

Sintaxa pentru declararea unui Constructor este

Def _init_(self):

# corpul constructorului

Există două tipuri de constructori în Python. Sunt:

  • Constructor implicit
  • Constructor parametrizat

Constructor implicit:

Este un constructor simplu și nu acceptă niciun parametru de intrare. Definiția constructorilor impliciti are un singur argument care se referă la instanța care este construită.

Constructor parametrizat:

După cum indică numele, acești constructori au parametri. Primul argument al acestui tip de constructori se referă la instanța care este construită și este cunoscută sub numele de „self”. Toate celelalte argumente necesare sunt specificate de programator ca intrări.

Consultați cursurile de știință a datelor de la upGrad

Supraîncărcarea constructorului în Python:

Supraîncărcarea construcției se referă la un scenariu de încorporare a unui număr mai mare de constructori cu o listă separată de parametri, astfel încât fiecare constructor să fie folosit pentru a îndeplini sarcini diferite în program. De exemplu, există patru tipuri de constructori în clasa Vector.

Python nu acceptă în mod explicit mai mulți constructori. Cu toate acestea, utilizarea mai multor constructori în Python poate fi realizată în mai multe moduri. Dacă un programator scrie mai multe metode _init_ pentru aceeași clasă, cea mai recentă funcție _init_ scrisă suprascrie toți ceilalți constructori.

De ce sunt necesari mai mulți constructori în Python?

Când utilizatorul are nevoie să efectueze diferite acțiuni pentru a instanția o clasă, apare cerința mai multor constructori. Acest lucru este util atunci când diferite acțiuni trebuie efectuate de către clasă pe diferiți parametri. Constructorii de clasă din Python sunt structurați pentru a prezenta polimorfism în trei moduri diferite, după cum sunt enumerate mai jos:

  1. Supraîncărcarea constructorului bazată pe argumente
  2. Invocarea metodelor _init_
  3. Utilizarea decoratorului @classmethod

Explorați cursurile noastre populare de știință a datelor

Program Executive Postuniversitar în Știința Datelor de la IIITB Program de certificat profesional în știința datelor pentru luarea deciziilor de afaceri Master în Știința Datelor de la Universitatea din Arizona
Program de certificat avansat în știința datelor de la IIITB Program de certificat profesional în știința datelor și analiză de afaceri de la Universitatea din Maryland Cursuri de știință a datelor

Citiți articolele noastre populare despre știința datelor

Calea de carieră în știința datelor: un ghid cuprinzător de carieră Creșterea carierei în știința datelor: viitorul muncii este aici De ce este importantă știința datelor? 8 moduri în care știința datelor aduce valoare afacerii
Relevanța științei datelor pentru manageri Ultima fișă pentru știința datelor pe care ar trebui să o aibă fiecare cercetător de date Top 6 motive pentru care ar trebui să devii un Data Scientist
O zi în viața omului de știință a datelor: ce fac ei? Mitul distrus: Știința datelor nu are nevoie de codare Business Intelligence vs Data Science: Care sunt diferențele?

Supraîncărcarea constructorului în Python pe baza argumentelor:

În această metodă, constructorii sunt supraîncărcați prin efectuarea acțiunilor necesare după ce sunt verificate condițiile pentru argumentele transmise. Să luăm în considerare un exemplu de transmitere a unui parametru la clasa Sample.

  • Pătratul numărului este răspunsul dacă parametrul de intrare este un int.
  • Dacă lungimea parametrului este mai mare de 1, suma argumentelor este afișată ca răspuns.

Metode de apelare cu _init_:

Când este creată o instanță a unei clase, clasa poate avea un singur constructor _init_ care poate îndeplini orice sarcină atribuită. Acest constructor poate fi modificat pentru a gestiona diferite funcții și pentru a efectua diferite sarcini în funcție de parametrul care este transmis. Să luăm în considerare un exemplu în care sunt efectuate următoarele calcule.

  • Dacă sunt transmise două argumente, expresia este evaluată ca x = a 2 – b 2
  • Dacă sunt transmise trei argumente, atunci expresia evaluată este y = a 2 + b 2 – c
  • Dacă numărul de argumente transmise depășește trei, adăugați pătratele acestor numere și împărțiți suma la argumentul cu cea mai mare valoare.

Dacă doriți să aflați în profunzime despre anularea metodei în Python, vă sugerăm să urmați cursul de 18 luni de Master în Știința Datelor . upGrad oferă acest curs de la Universitatea IIIT Bangalore și Liverpool John Moore. Cursul vă învață abilități precum Statistica, Analiza predictivă folosind Python, Învățare automată, Vizualizarea datelor, Analytics Big Data și multe altele. Studenții cu cunoștințe solide ale conceptelor Python sunt bine poziționați pentru a aborda subiecte precum Deep Learning, Natural Language Processing, Business Analytics și Data Engineering.

Vrei să distribui acest articol?

Pregătiți-vă pentru o carieră a viitorului

Aplicați pentru Master of Science în Data Science