Bez obzira jeste li stručnjak ili početnik u Python programiranju, morate biti upoznati s moduli za uvoz naredba. Međutim, kao novak možda nećete imati pojma odakle ti moduli dolaze.

Pogledajmo dublje kako bismo razumjeli podrijetlo tih modula, zajedno s tim kako ih stvoriti i uvesti za ponovnu upotrebu.

Što je ponovna upotreba koda i zašto biste to trebali učiniti?

Jedna od najboljih praksi pri radu s većinom jezika na poslužitelju je modularizacija koda tako da se može ponovno upotrijebiti. Budući da je Python objektno orijentiran, jedan je od onih jezika koji omogućuje ponovnu upotrebu koda.

Modularizacija koda uključuje pisanje kodova koji izvršavaju različite upute u blokovima. Koristi se za odvajanje zadataka jedan od drugog.

Kada modulirate kod, dajete mu jedinstveni naziv. To je ime njegov identitet i znači da kad sljedeći put budete trebali koristiti taj blok koda, trebate samo zazvati njegovo ime, a ne cijeli kod.

Ova vam praksa puno olakšava i ubrzava posao tijekom stvarnog projekta. Modularizacija koda također poboljšava brzinu izvršavanja i olakšava testiranje. U osnovi čini vaš kod učinkovitijim i čitljivijim.

instagram viewer

Iako se naš primjer ovdje ne temelji na objektno orijentiranom programiranju (OOP), o njemu moramo kratko razgovarati prije nego što prijeđemo na stvaranje modula.

Kôd koji ponekad namjeravate ponovno upotrijebiti može biti sam po sebi kao pojedinačne funkcije. Ali može biti i u obliku metode u razred. Tada nastupa koncept OOP.

Objektno orijentirano programiranje u Pythonu

OOP je predstavljanje kodova kao nezavisnih objekata u obliku klase. Svaki objekt tada ima svoje atribute i metode.

Ti su atributi karakteristike klase, dok svaka metoda definira ponašanje atributa.

Umjesto pisanja dugog koda koji je manje efikasan u proceduralnom programiranju, vaš kôd postaje učinkovitiji i specifičniji u OOP-u. Razlog je taj što se funkcije i podaci pohranjuju u nezavisne klase u OOP-u, za razliku od razdvajanja obje u proceduralnom programiranju.

Svaki razred koji izradite zauzima identitet. Dakle, kada vam treba imenovani modul iz klase, vi ga pozivate s referencom na tu klasu.

Da biste bolje razumjeli, pogledajte naš početnički vodič za razumijevanje OOP-a.

Što je objektno orijentirano programiranje? Osnove objašnjene laičkim rječnikom

Većina modernih programskih jezika podržava paradigmu "objektno orijentiranog programiranja" (OOP). Ali što je zapravo OOP i zašto je tako koristan?

Izrada višekratnih funkcija: praktični primjer

Krenimo dalje, pogledajmo kako možemo ponovno koristiti funkciju brojača riječi u drugoj Python datoteci. Ovaj će se vodič usredotočiti samo na stvaranje funkcija za ponovnu upotrebu koje nisu unutar objekta.

Prvo otvorite naredbeni redak na bilo kojem mjestu na računalu da biste započeli novi projekt. U ovom ćemo slučaju koristiti naziv projekta Brojanje riječi. Da biste to učinili, upišite mkdir_broj riječi.

Zatim upotrijebite željeni alat za virtualno okruženje za stvoriti novo virtualno okruženje. Ako ste ga već stvorili, jednostavno ga aktivirajte. Provjerite jeste li još uvijek u direktoriju vašeg projekta.

Kao dobra praksa, da bismo stvorili funkciju brojača riječi, prvo pokušavamo dokučiti sirovu formulu za njezino izračunavanje. Općenito možete pronaći broj riječi dodavanjem jedne broju razmaka u rečenici. Imajte na umu da, iako možda nećete trebati brojanje riječi, ovo je objašnjenje važno kako se ideja odnosi na ponovnu upotrebu koda.

Dalje, otvorite uređivač teksta na mjestu vašeg projekta i stvorite novu Python datoteku. U ovom se slučaju datoteka naziva wordcounter.py; pobrinite se da koristite ispravno .py produženje.

Evo što brojač riječi datoteka izgleda ovako:

# stvorite varijablu koja se naziva riječ koja sadrži neke nizove
word = ['kako napraviti brojač riječi u pythonu']
# Dalje, petljajte kroz varijablu kako biste prebrojali riječi u stvorenoj varijabli
NumberOfWords = [EachWord.count ('') + 1 za svaku riječ u riječi]
ispis (NumberOfWords)
izlaz: [8]

Sada kada sirovi kôd radi, mi ga moduliramo stvaranjem funkcije koja čini kôd za višekratnu upotrebu:

def CountWords (riječi):
ako riječi nisu None:
NumberOfWords = [Everyword.count ('') + 1 za svaku riječ u riječima]
vrati NumberOfWords
mywords = ['izrada brojača riječi u pythonu']
ispis (CountWords (moje riječi))
izlaz: [6]

To je to; stvorili smo modul brojača riječi. Pogledajmo kako je ponovno upotrijebiti.

Uvoz stvorenog modula

Ne zaboravite da ste ranije stvorili datoteku s imenom wordcounter.py. Ta datoteka sadrži funkciju koja se zove CountWords. Ako vam je potrebna ta funkcija u novoj datoteci i ne želite prepisivati ​​cijeli kôd ili funkciju, sve što trebate je uvesti tu funkciju kao modul u novu datoteku.

Imajte na umu da sve vaše Python datoteke moraju biti u istom direktoriju, u ovom slučaju. Da biste bili sigurni da je to slučaj, samo stvorite novu Python datoteku u istom direktoriju u kojem imate wordcounter.py datoteka.

Evo kako izgleda nova datoteka:

iz wordcounter uvoza CountWords
words = ["kako uvesti i ponovo koristiti svoj kod u Pythonu"]
CountWords (riječi)
izlaz: [9]

U gornjem isječku, CountWords je funkcija unutar wordcounter.py datoteka. Da bismo ponovno upotrijebili tu funkciju u novoj datoteci Python, uvozimo je iz njene nadređene datoteke (wordcounter.py).

Apsolutno uvoz vašeg stvorenog modula

Što ako nova datoteka nije u istom direktoriju kao datoteka modula? U tim slučajevima morate uputiti modul pomoću apsolutnog uvoza.

Da bismo ovo malo bolje razumjeli, pretpostavimo da ste stvorili novu datoteku u direktoriju svog projekta. Ali datoteka iz koje namjeravate uvesti svoju funkciju (koja je brojač riječi, u ovom slučaju), nalazi se u drugoj mapi unutar poziva mape vašeg imenika projekta podbroj_broj.

Za uvoz vašeg modula iz brojač riječi (koji je sada unutar podbroj_broj folder) u novu Python datoteku, morate je apsolutno nazvati. Da biste vidjeli kako to funkcionira, stvorite novu datoteku u direktoriju vašeg projekta, dajte joj željeno ime i uvezite svoj modul kako je napisano u isječku koda u nastavku:

iz subword_count.wordcounter import CountWords
words = ["kako uvesti i ponovno koristiti svoj kod u Pythonu za datoteke u različitim mapama."]
CountWords (riječi)
izlaz: [14]

Tijekom apsolutnog uvoza Python pregledava nadređenu mapu (podbroj_broj u ovom slučaju) i locira datoteku ili modul koji sadrži funkciju od interesa (CountWords).

Da razbijemo značenje apsolutnog uvoza gore, podbroj_broj je mapa u direktoriju vašeg projekta koja sadrži wordcounter.py datoteka. Ta datoteka tada sadrži CountWords funkcija.

Gdje funkcionira ponovna upotreba koda?

Modulariziranje i ponovna upotreba koda najbolja je praksa za bilo koji projekt koji izvodite. Ako napišete OOP, što ćete vjerojatno često činiti, možete uvesti klasu iz modula ili pozvati funkciju iz klase. Ako je klasa u mapi, apsolutno je uvezite u novu datoteku.

Ista se praksa odnosi na funkcije koje nisu u objektu. Ovisno o izgledu vašeg projekta, možete ih uvesti eksplicitno ili apsolutno, kao što smo učinili gore.

E-mail
Vodič za početnike za Python objektno orijentirano programiranje

Da biste u potpunosti iskoristili prednosti Pythona, morat ćete naučiti kako Python radi s objektno orijentiranim programiranjem (OOP).

Povezane teme
  • Programiranje
  • Programiranje
  • Piton
  • Objektno orijentirano programiranje
O autoru
Idowu Omisola (Objavljeno 45 članaka)

Idowu je zaljubljen u sve pametne tehnologije i produktivnost. U slobodno vrijeme igra se s kodiranjem i prebacuje se na šahovnicu kad mu je dosadno, ali isto tako voli kad-tad odvojiti se od rutine. Njegova strast da ljudima pokaže put oko moderne tehnologije motivira ga da piše više.

Više od Idowu Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Još jedan korak…!

Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.

.