Enten du er ekspert eller nybegynner på Python-programmering, må du være kjent med importere moduler kommando. Imidlertid, som en nykommer, har du kanskje ikke en anelse om hvilke modulene kommer fra.
La oss ta en dypere titt for å forstå opprinnelsen til disse modulene, sammen med hvordan du oppretter og importerer dem for gjenbruk.
Hva er gjenbrukbar kode, og hvorfor bør du gjøre det?
En av de beste metodene når du arbeider med de fleste språk på serversiden, er å modulere koden din slik at den kan brukes på nytt. Fordi Python er objektorientert, er det et av de språkene som gjør det mulig å gjenbruke kode.
Kodemodularisering innebærer å skrive koder som utfører forskjellige instruksjoner i blokker. Den brukes til å skille oppgaver fra hverandre.
Når du modulerer en kode, gir du den et unikt navn. Dette navnet er identiteten og betyr at neste gang du trenger å bruke den kodeblokken, trenger du bare å ringe ut navnet og ikke hele koden.
Denne øvelsen gjør jobben din mye enklere og raskere i løpet av et virkelig prosjekt. Kodemodularisering forbedrer også kjøringshastigheten og gjør testing enklere. I hovedsak gjør det koden din mer effektiv og lesbar.
Selv om eksemplet vårt her ikke er basert på objektorientert programmering (OOP), må vi diskutere det kort før vi går videre til å lage en modul.
Koden du har tenkt å bruke igjen noen ganger, kan stå alene som individuelle funksjoner. Men det kan også være i form av metoder i en klasse. Det er da konseptet med OOP spiller inn.
Objektorientert programmering i Python
OOP er presentasjon av koder som uavhengige objekter i form av en klasse. Hvert objekt har deretter sine attributter og metoder.
Disse attributtene er egenskapene til klassen, mens hver metode definerer atferdene til attributtene.
I stedet for å skrive lang kode som er mindre effektiv, blir en konvensjon i prosessuell programmering din kode mer effektiv og spesifikk i OOP. Årsaken er at funksjoner og data lagres i uavhengige klasser i OOP, i motsetning til separasjon av begge i prosessuell programmering.
Hver klasse du lager, tar deretter opp en identitet. Så når du trenger en navngitt modul fra en klasse, kaller du den med henvisning til den klassen.
For å få en bedre forståelse, ta en titt på vår nybegynnerveiledning for å forstå OOP.
De fleste moderne programmeringsspråk støtter "objektorientert programmering" (OOP) paradigme. Men hva er egentlig OOP, og hvorfor er det så nyttig?
Å lage gjenbrukbare funksjoner: Et praktisk eksempel
La oss se på hvordan vi kan bruke funksjonen til en ordteller i en annen Python-fil. Denne guiden vil bare fokusere på å lage gjenbrukbare funksjoner som ikke er inne i et objekt.
For det første, åpne en ledetekst til et hvilket som helst sted på datamaskinen din for å starte et nytt prosjekt. I dette tilfellet bruker vi et prosjektnavn på ordtelling. For å gjøre det, skriv inn mkdir word_count.
Deretter bruker du det foretrukne virtuelle miljøverktøyet til skape et nytt virtuelt miljø. Hvis du allerede har opprettet en, kan du bare aktivere den. Forsikre deg om at du fortsatt er i katalogen til prosjektet.
Som en god praksis, for å lage ordtellerfunksjonen, prøver vi først å finne ut en rå formel for å beregne den. Generelt kan du finne et ordtall ved å legge til ett til antall mellomrom i en setning. Vær oppmerksom på at selv om du kanskje ikke har behov for ordtelling, er det hvordan ideen er relatert til gjenbrukbarhet av koden som betyr noe for denne forklaringen.
Deretter åpner du et tekstredigeringsprogram til prosjektplasseringen og oppretter en ny Python-fil. I dette tilfellet blir filen navngitt som wordcounter.py; sørg for at du bruker riktig .py Utvidelse.
Her er hva ordteller filen ser ut som:
# opprett en variabel som heter ord som inneholder noen strenger
word = ['hvordan lage en ordteller i python']
# Gå deretter gjennom variabelen for å telle ordene i den opprettede variabelen
NumberOfWords = [EachWord.count ('') + 1 for EachWord in word]
skriv ut (NumberOfWords)
utgang: [8]
Nå som rå koden fungerer, modulerer vi den ved å lage en funksjon som gjør koden gjenbrukbar:
def CountWords (ord):
hvis ord ikke er Ingen:
NumberOfWords = [Eachword.count ('') + 1 for Eachword i ord]
returnere NumberOfWords
mywords = ['lage en ordteller i python']
skriv ut (CountWords (mywords))
utgang: [6]
Det er det; vi har laget en ordteller-modul. La oss se hvordan vi kan bruke den på nytt.
Importerer den opprettet modulen
Husk at du tidligere opprettet en fil med navnet wordcounter.py. Den filen har en funksjon som heter CountWords. Hvis du trenger den funksjonen i en ny fil og ikke vil skrive om hele koden eller funksjonen, er alt du trenger å gjøre å importere den funksjonen som en modul i den nye filen.
Merk at alle dine Python-filer må være i samme katalog, i dette tilfellet. For å sikre at dette er tilfelle, er det bare å opprette en ny Python-fil i samme katalog som du har wordcounter.py fil.
Slik ser den nye filen ut:
fra import av ordteller CountWords
ord = ["hvordan du importerer og bruker koden din i Python"]
Antall ord (ord)
utgang: [9]
I utdraget over, CountWords er funksjonen inne i wordcounter.py fil. For å gjenbruke den funksjonen i en ny Python-fil, importerer vi den fra den overordnede filen (wordcounter.py).
Importerer den opprettet modulen din absolutt
Hva om den nye filen ikke er i samme katalog som modulfilen? I disse tilfellene må du referere til modulen ved å bruke en absolutt import.
For å forstå dette litt lenger, la oss anta at du har opprettet en ny fil i prosjektets katalog. Men filen du har tenkt å importere funksjonen din fra (som er ordteller, i dette tilfellet), er i en annen mappe i prosjektets katalogtittel som kaller den mappen subord_count.
For å importere modulen din fra ordteller (som nå er inne i subord_count mappen) til en ny Python-fil, må du kalle den absolutt. For å se hvordan dette fungerer, opprett en ny fil i prosjektets katalog, gi den ditt foretrukne navn og importer modulen din som skrevet i kodebiten nedenfor:
fra subword_count.wordcounter importer CountWords
ord = ["hvordan du importerer og bruker koden din i Python for filer i forskjellige mapper."]
Antall ord (ord)
utgang: [14]
Under en absolutt import blar Python gjennom den overordnede mappen (subord_count i dette tilfellet) og finner filen eller modulen som inneholder funksjonen av interesse (CountWords).
For å bryte ned betydningen av absolutt import ovenfor, subord_count er en mappe i prosjektets katalog som inneholder wordcounter.py fil. Den filen inneholder deretter CountWords funksjon.
Hvor fungerer kode gjenbrukbarhet?
Modularisering og gjenbruk av koden din er en god praksis for ethvert prosjekt du kjører. Hvis du skriver OOP, noe du sannsynligvis vil gjøre ofte, kan du importere en klasse fra en modul eller ringe en funksjon fra en klasse. Hvis klassen er i en mappe, kan du importere den absolutt til den nye filen.
Den samme praksisen gjelder funksjoner som ikke er i et objekt. Avhengig av prosjektets utforming, kan du importere dem eksplisitt eller absolutt, som vi har gjort ovenfor.
For å dra full nytte av Pythons styrker, vil du lære hvordan Python fungerer med objektorientert programmering (OOP).
- Programmering
- Programmering
- Python
- Objektorientert programmering
Idowu brenner for alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han elsker også å bryte seg fra rutinen en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.