Indiferent dacă sunteți expert sau începător la programarea Python, trebuie să fiți familiarizați cu module de import comanda. Cu toate acestea, ca nou venit, este posibil să nu aveți o idee de unde provin acele module.

Să aruncăm o privire mai profundă pentru a înțelege originea acestor module, împreună cu modul de creare și importare pentru reutilizare.

Ce este reutilizarea codului și de ce ar trebui să o faceți?

Una dintre cele mai bune practici atunci când lucrați cu majoritatea limbajelor de pe server este să vă modularizați codul astfel încât să fie reutilizabil. Deoarece Python este orientat obiect, este unul dintre acele limbaje care face posibilă reutilizarea codului.

Modularizarea codurilor implică scrierea codurilor care efectuează instrucțiuni diferite în blocuri. Este folosit pentru a separa sarcinile unele de altele.

Când modulați un cod, îi dați un nume unic. Acest nume este identitatea sa și înseamnă că data viitoare când trebuie să utilizați acel bloc de cod, trebuie doar să îi strigați numele și nu întregul cod.

Această practică vă face munca mult mai ușoară și mai rapidă în timpul unui proiect din viața reală. Modularizarea codului îmbunătățește, de asemenea, viteza de execuție și facilitează testarea. În esență, vă face codul mai eficient și mai ușor de citit.

Deși exemplul nostru de aici nu se bazează pe programarea orientată pe obiecte (OOP), trebuie să-l discutăm pe scurt înainte de a trece la crearea unui modul.

Codul pe care intenționați să îl reutilizați uneori poate fi singur ca funcții individuale. Dar poate fi și sub formă de metode într-o clasă. Atunci intră în joc conceptul OOP.

Programare orientată pe obiecte în Python

OOP este prezentarea codurilor ca obiecte independente sub forma unei clase. Fiecare obiect are apoi atributele și metodele sale.

Aceste atribute sunt caracteristicile clasei, în timp ce fiecare metodă definește comportamentul atributelor.

În loc să scrieți cod lung, care este mai puțin eficient, o convenție în programarea procedurală codul dvs. devine mai eficient și mai specific în POO. Motivul este că funcțiile și datele sunt stocate în clase independente în POO, spre deosebire de separarea ambelor în programarea procedurală.

Fiecare clasă pe care o creați preia apoi o identitate. Deci, atunci când aveți nevoie de un modul numit dintr-o clasă, îl numiți cu referire la acea clasă.

Pentru a obține o mai bună înțelegere, aruncați o privire asupra noastră ghid pentru începători pentru a înțelege OOP.

Ce este programarea orientată pe obiecte? Noțiunile de bază explicate în termenii Layman

Majoritatea limbajelor de programare moderne acceptă paradigma „programării orientate pe obiecte” (OOP). Dar ce este exact OOP și de ce este atât de util?

Realizarea funcțiilor reutilizabile: un exemplu practic

Mai departe, să aruncăm o privire la modul în care putem reutiliza funcția pentru un contor de cuvinte într-un alt fișier Python. Acest ghid se va concentra numai pe crearea de funcții reutilizabile care nu se află în interiorul unui obiect.

În primul rând, deschideți un prompt de comandă în orice locație de pe computer pentru a începe un proiect nou. În acest caz, vom folosi un nume de proiect pentru număr de cuvinte. Pentru a face acest lucru, tastați mkdir număr_cuvinte.

Apoi, utilizați instrumentul de mediu virtual preferat pentru creați un nou mediu virtual. Dacă ați creat deja unul, pur și simplu activați-l. Asigurați-vă că sunteți încă în directorul proiectului.

Ca o bună practică, pentru a crea funcția de numărare a cuvintelor, încercăm mai întâi să găsim o formulă brută pentru calcularea acesteia. În general, puteți găsi un număr de cuvinte adăugând unul la numărul de spații dintr-o propoziție. Rețineți că, deși este posibil să nu aveți nevoie de un număr de cuvinte, este modul în care ideea se referă la reutilizarea codului care contează pentru această explicație.

Apoi, deschideți un editor de text în locația proiectului dvs. și creați un nou fișier Python. În acest caz, fișierul este denumit ca wordcounter.py; asigurați-vă că utilizați corectul .py extensie.

Iată ce contor de cuvinte fișierul arată ca:

# creați o variabilă numită cuvânt care conține câteva șiruri
word = ['cum se face un contor de cuvinte în python']
# Apoi, parcurgeți variabila pentru a număra cuvintele din variabila creată
NumberOfWords = [EachWord.count ('') + 1 pentru EachWord în cuvânt]
print (NumberOfWords)
ieșire: [8]

Acum, când codul brut funcționează, îl modularizăm prin crearea unei funcții care face codul reutilizabil:

def CountWords (cuvinte):
dacă cuvintele nu sunt Niciuna:
NumberOfWords = [Eachword.count ('') + 1 pentru fiecare cuvânt în cuvinte]
returnează NumberOfWords
mywords = ['crearea unui contor de cuvinte în python']
print (CountWords (mywords))
ieșire: [6]

Asta este; am creat un modul de contorizare a cuvintelor. Să vedem cum să-l refolosim.

Importul modulului creat

Amintiți-vă că anterior ați creat un fișier numit wordcounter.py. Fișierul deține o funcție numită CountWords. Dacă aveți nevoie de acea funcție într-un fișier nou și nu doriți să rescrieți întregul cod sau funcție, tot ce trebuie să faceți este să importați funcția respectivă ca modul în noul fișier.

Rețineți că toate fișierele dvs. Python trebuie să fie în același director, în acest caz. Pentru a vă asigura că acesta este cazul, trebuie doar să creați un nou fișier Python în același director în care aveți wordcounter.py fişier.

Iată cum arată noul fișier:

din importul de wordcounter CountWords
cuvinte = ["cum să importați și să refolosiți codul în Python"]
CountWords (cuvinte)
ieșire: [9]

În fragmentul de mai sus, CountWords este funcția din interiorul wordcounter.py fişier. Pentru a reutiliza acea funcție într-un nou fișier Python, o importăm din fișierul său părinte (wordcounter.py).

Importarea modulului dvs. creat în mod absolut

Ce se întâmplă dacă noul fișier nu se află în același director cu fișierul modul? În aceste cazuri, trebuie să faceți referire la modul utilizând un import absolut.

Pentru a înțelege acest lucru un pic mai departe, să presupunem că ați creat un fișier nou în directorul proiectului. Dar fișierul din care intenționați să importați funcția dvs. (care este contor de cuvinte, în acest caz), se află într-un alt folder din directorul proiectului dvs. numiți acel folder subword_count.

Pentru a importa modulul dvs. din contor de cuvinte (care este acum în interiorul subword_count folder) într-un nou fișier Python, trebuie să-l numiți absolut. Pentru a vedea cum funcționează, creați un fișier nou în directorul proiectului, dați-i numele preferat și importați modulul așa cum este scris în fragmentul de cod de mai jos:

din subword_count.wordcounter import CountWords
cuvinte = ["cum să importați și să refolosiți codul în Python pentru fișiere din diferite foldere."]
CountWords (cuvinte)
ieșire: [14]

În timpul unui import absolut, Python navighează prin folderul părinte (subword_count în acest caz) și localizează fișierul sau modulul care conține funcția de interes (CountWords).

Pentru a defini semnificația importului absolut de mai sus, subword_count este un folder din directorul proiectului dvs. care deține fișierul wordcounter.py fişier. Fișierul respectiv conține apoi fișierul CountWords funcţie.

Unde funcționează reutilizarea codului?

Modularizarea și refolosirea codului dvs. este o bună practică pentru orice proiect pe care îl executați. Dacă scrieți OOP, ceea ce probabil că veți face des, puteți importa o clasă dintr-un modul sau puteți apela o funcție dintr-o clasă. Dacă clasa se află într-un folder, importați-o absolut în noul fișier.

Aceeași practică se aplică funcțiilor care nu se află într-un obiect. În funcție de aspectul proiectului dvs., le puteți importa în mod explicit sau absolut, așa cum am făcut mai sus.

E-mail
Un ghid pentru începători pentru programarea orientată pe obiecte Python

Pentru a profita din plin de punctele forte ale Python, veți dori să aflați cum funcționează Python cu programarea orientată pe obiecte (OOP).

Subiecte asemănătoare
  • Programare
  • Programare
  • Piton
  • Programare orientată pe obiecte
Despre autor
Idowu Omisola (45 articole publicate)

Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place, de asemenea, să se rupă de rutină din când în când. Pasiunea sa pentru a arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai multe.

Mai multe de la Idowu Omisola

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Încă un pas…!

Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.

.