Înțelegerea abstracției: Cum funcționează abstracția în Python?

Publicat: 2023-04-08

Python este unul dintre cele mai utilizate limbaje de programare. Python a simplificat pentru utilizatori să programeze mai eficient cu ajutorul abstractizării. Acest concept îi menține pe utilizatori concentrați doar pe informațiile esențiale și păstrează ascunse detaliile superflue.

Cuprins

Ce este abstracția în Python?

Abstracția este definită ca un concept de bază al programării orientate pe obiecte. Vă ajută să încapsulați datele de implementare ale unei clase de la utilizatorii săi. Abstracțiadin Python vă ajută să interacționați cu o clasă fără a înțelege funcționarea sa internă.Se realizează prin utilizarea de interfețe și clase abstracte.

Abstracțiadin Python se referă în continuare la gestionarea complexității prin ascunderea informațiilor inutile de la utilizator.Prin urmare, codificarea este simplificată. Utilizatorul interacționează doar cu implementarea fundamentală a claselor și funcțiilor; funcționarea internă rămâne ascunsă.

În esență, utilizatorul știe doar scopul funcției; ei nu știu cum se realizează. Rețineți că un abstract nu poate fi instanțiat, adică nu putem crea obiecte pentru clasa abstractă. Vă face codul mai extensibil, mai lizibil și mai ușor de întreținut. În plus, evită dublarea. Concentrarea doar pe conceptul principal poate ajuta la îmbunătățirea eficienței muncii.

Cum funcționează abstracția în Python?

Rolul cheie al abstractizării este de a ascunde funcționarea internă a codului. Interacțiunile se realizează cu utilizatorii prin implementarea de bază. Conceptul de abstractizare din Python funcționează folosind clase și metode abstracte.

Clasa abstractă este definită ca o clasă menționată în cod care are metode abstracte. Metodele abstracte nu au nicio implementare; toate implementările sunt efectuate în cadrul subclaselor.

Python folosește definiții de metode auto-variabile în timp ce inițializează o variabilă. O metodă de clasă oferă informații despre clasă. Această metodă trebuie să se declare self ca parametru pentru a defini o metodă instantanee.

Puteți înțelege cu ușurință funcționareaabstractizării datelor în Python printr-un scenariu din lumea reală.Când faceți cumpărături online, cumpărați sau adăugați produse în coș și apoi plătiți pentru ele. Cu toate acestea, atunci când faceți clic pe opțiunile disponibile, acestea efectuează mai multe funcții intern a căror implementare nu este disponibilă utilizatorului. Utilizatorul poate vedea doar vizualizarea necesară. Aici operează o abstractizare căutând avantajul clasificării ierarhice, adică modulele complexe sunt fragmentate în piese gestionabile.

Importanța abstracției în Python

Iată cum abstracția își afirmă semnificația în diferite funcții din Python pentru a simplifica rulările de programare cu limbajul relevant.

  • Abstracțiadin Python ajută la ascunderea clasei/date/procesului irelevante și astfel scade complexitatea codificării.
  • Îmbunătățește eficiența aplicației.
  • Abstracția în Python permite utilizatorilor să creeze funcții scalabile și flexibile care sunt ușor de adaptat.

Clasele de bază de abstracție

În Python, o clasă de bază abstractă se referă la programul de aplicație comun al interfeței pentru mai multe subclase. În termeni mai simpli, funcționează ca un plan pentru alte clase. Terțul îl poate folosi pentru a beneficia de implementări, ca în cazul pluginurilor.

Prin definirea unor clase de bază abstracte, puteți dezvolta o interfață de programare a aplicațiilor (API) comună pentru diferite subclase. Este benefic atunci când lucrați în echipe uriașe, astfel încât toate clasele nu trebuie să fie amintite. În plus, terții nu trebuie să ofere toate cursurile la bibliotecă.

Puteți utiliza această caracteristică de abstractizare a datelor în Python dacă lucrați cu o bază de cod uriașă și vă este dificil să vă amintiți toate clasele.

Învață cursuri de știință a datelor online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Funcționalitatea claselor abstracte

Spre deosebire de alte limbaje de programare de nivel înalt, Python nu oferă o clasă abstractă proprie. Puteți utiliza metoda ABC a lui Python, care oferă instrumentele de bază și esențiale pentru definirea claselor de bază abstracte (ABC). În esență, ABC-urile oferă caracteristica subclaselor virtuale. Sunt clase care nu moștenesc proprietăți de la o clasă și pot fi încă identificate prin

isinstance() și issubclass().

Următorul modul vă ajută să vă dezvoltați propriul ABC.

din abc import ABC

clasa MyABC(ABC):

trece

După cum am menționat mai sus, modulul ABC oferă metaclasa, adică ABCMeta, care definește definirea ABC-urilor și o clasă de ajutor ABC pentru a defini ABC-urile folosind moștenirea.În plus, modulul ABC oferă decoratorul@abstractmethod pentru reprezentarea metodelor abstracte.ABC este definit astfel încât cuvântul cheie@abstractmethod decorează metodele abstracte din clasa de bază atunci când sunt create.Mai mult, metodele concrete sunt reprezentate ca implementări ale clasei de bază.

Următorulexemplu de abstractizare în Python vă ajută să înțelegeți mai bine funcționalitatea claselor abstracte.

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

din abc import ABC, abstractmethod

Subiectul clasei (ABC):

scor def (auto):

trece

clasa engleza (subiect):

scor def (auto):

print(„Scorul este 80”)

clasa matematică (subiect):

scor def (auto):

print(„Scorul este 75”)

clasă Știință (subiect):

scor def (auto):

print(„Scorul este 85”)

Literatură de clasă (subiect):

scor def (auto):

print(„Scorul este 70”)

e= engleză()

e.score()

m = matematică()

m.score()

s = Știință ()

scor s.()

l = Literatură()

scor l.()

Ieșire:

Scorul este 80

Scorul este 75

Scorul este 85

Scorul este 70

Să înțelegem implementarea codului de mai sus.

Am importat modulul ABC pentru a face clasa de bază abstractă. Clasa Subiect moștenește clasa ABC și este definită o metodă abstractă, „score()” .Apoi, am moștenit clasa de bază din diferite subclase și am implementat metoda abstractă în mod unic. Obiectele (aici, numele subiectelor) sunt create pentru a apela metoda abstractă. În cele din urmă, punctajul fiecărui subiect este furnizat ca rezultat.

Consultațicursurile noastre gratuite de știință a datelor pentru a obține un avantaj față de concurență.

Abstracție în Python Exemplu: Aplicații din lumea reală

1. Web scraping

Una dintre cele mai bune aplicații din lumea reală ale Python este în web scraping. Indică eliminarea unei cantități masive de date de către companii pentru a prelua informații despre clienți și a lua decizii rentabile. Conceptul de abstractizare afișează doar informațiile necesare și astfel ajută companiile să acceseze cu ușurință datele clienților. Mai mult, instrumente precum Selenium, PythonRequest și MechanicalSoup sunt folosite în programarea Python pentru a dezvolta aplicații de web scraping.

2. Învățare automată și IA

Putem lua în considerareabstractizarea în exemplul Python în domeniul învățării automate și AI.Ușurința de codificare și ușurința de înțelegere a conceptului de abstractizare îl ajută pe Python să gestioneze calculele complexe necesare pentru a dezvolta modele de învățare automată. Bibliotecile Python precum Pandas, Keras, NumPy și altele sunt utile pentru aplicațiile de învățare automată. În plus, conceptul de abstractizare al lui Python este utilizat în diverse soluții AI, cum ar fi recunoașterea imaginilor, calculul avansat, procesarea datelor etc.

Abilități de top în știința datelor de învățat

Abilități de top în știința datelor de învățat
1 Curs Analiza Datelor Cursuri de Statistică Inferenţială
2 Programe de testare a ipotezelor Cursuri de regresie logistică
3 Cursuri de regresie liniară Algebră liniară pentru analiză

3. Desktop GUI

Python este un limbaj de programare open-source, ușor de învățat, independent de platformă și stabil. Aceste aspecte fac ca Python să fie potrivit pentru crearea GUI desktop. Instrumentele precum PyGUI, PyQt și WxPython sunt utilizate pe scară largă pentru dezvoltarea eficientă a interfețelor grafice de înaltă calitate.

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?

4. Gătitul

Dacă doriți să vă încălziți masa într-un cuptor cu microunde, este posibil să doriți să apăsați anumite butoane pentru a seta temporizatorul și alte funcții. În consecință, obțineți o masă caldă și gustoasă. Funcționarea internă și detaliile cuptorului cu microunde vă sunt ascunse. Puteți accesa doar funcționalitatea externă pentru a personaliza timpul și procesul de gătire.

La pachet

Abstracțiadin Python simplifică procesul de gestionare a complexității prin distribuția lor în părți mai mici.Puteți utiliza părțile mai mici din programele software sau proiectele fără a înțelege cum funcționează. Acest concept îi ajută pe programatori să reducă procesele complexe, sporind eficiența în funcționarea lor.

Atinge apogeul succesului în cariera ta în domeniul științei datelor urmărind campania de programare Python UpGrad . Programul facilitează sesiuni captivante desfășurate sub conducerea experților din industrie care folosesc cele mai noi instrumente și tehnologii pentru a ajuta începătorii în detaliu la codificare.

Implementând abilități solicitante precum Programarea bazelor de date în SQL, Construirea logică pentru programare, Sintaxe Python importante și Programarea bazelor de date în Python folosind bibliotecile Pandas și NumPy, cursul vă ajută să stăpâniți toate aspectele programării Python. Pe lângă curriculumul de ultimă oră, upGrad oferă mai multe beneficii suplimentare, cum ar fi cursuri interactive live, sesiuni de curățare a îndoielilor, mentorat de la experți de top din industrie, asistență pentru studenți 24/7 și multe altele!

Î. Care este diferența dintre abstracție și încapsulare în Python?

Abstracția din Python este folosită pentru a ascunde detaliile interne și pentru a afișa numai funcționalități. Procesul oferă nume lucrurilor pentru a se asigura că numele surprinde conceptul fundamental despre ceea ce face o funcție sau un întreg program. Pe de altă parte, încapsularea restricționează accesul la variabile și metode. Acesta împachetează datele și programele într-o singură unitate pentru a evita modificarea accidentală a acestora.

Î. Cum vă ajută abstracția în Python să construiți cod reutilizabil?

În Python, procesul de abstractizare ascunde detaliile de implementare de la utilizator. Capacitatea sa de a ascunde detaliile modului în care funcția unui program face codul mai reutilizabil. Aceasta implică că puteți utiliza același cod într-o manieră mai generalizată în diferite situații, fără să vă faceți griji cu privire la modul în care funcționează sub aceeași capotă. În plus, abstracția în Python face codul mai ușor de citit și de înțeles.

Î. Care sunt metodele acceptate în clasele abstracte în Python?

Clasele abstracte în Python pot suporta atât metode abstracte, cât și concrete în Python. Metodele abstracte ar trebui implementate în clasele derivate. Metodele concrete sunt implementate în clasa de bază.