Programmeringstips

De 10 beste og nyttige tipsene for å øke hastigheten på Python-koden

De 10 beste og nyttige tipsene for å øke hastigheten på Python-koden

Hvis noen spør deg: “Hva er det raskest voksende programmeringsspråket i verden akkurat nå?”Svaret vil være enkelt. Dens python. Den verdensomspennende populariteten skyldes sin enkle syntaks og rike biblioteker. I dag kan du nesten gjøre alt med python: Datavitenskap, maskinlæring, signalbehandling, datavisualisering - du heter det. Imidlertid hevder mange at python er litt treg mens de løser alvorlige problemer. Men tiden for å utføre et program avhenger av koden man skriver. Med noen tips og triks kan man øke hastigheten på Python-koden og forbedre programmets ytelse.

Tips og triks for å øke hastigheten på Python-koden


I tilfelle du søker etter måter å øke hastigheten på python-koden din, er artikkelen noe for deg. Den illustrerer teknikkene og strategiene for å redusere gjennomføringstiden til et program. Ikke bare vil tipsene øke koden, men de vil også forbedre pythonferdighetene.

01. Bruk innebygde biblioteker og funksjoner


Python har mange biblioteksfunksjoner og moduler. De er skrevet av ekspertutviklere og har blitt testet flere ganger. Så disse funksjonene er svært effektive og hjelper til med å øke koden - du trenger ikke å skrive koden hvis funksjonen allerede er tilgjengelig i biblioteket. Vi tar et enkelt eksempel i denne forbindelse.

# code1 newlist = [] for word i oldlist: newlist.legge til (ord.øverste())
# code2 newlist = map (str.øvre, gamle liste)

Her er den andre koden raskere enn den første koden fordi biblioteksfunksjonskartet () har blitt brukt. Disse funksjonene er nyttige for nybegynnere. Hvem ønsker ikke raskere, så vel som ren og mindre kode å skrive? Bruk derfor biblioteksfunksjoner og moduler så mye som mulig.

02. Riktig datastruktur på rett sted


Hvis du bruker riktig datastruktur, reduseres kjøretiden. Før du starter, må du tenke på datastrukturen som skal brukes i koden. En perfekt datastruktur vil øke hastigheten på pythonkoden, mens andre ødelegger den. Du må ha en idé om tidskompleksiteten til forskjellige datastrukturer.

Python har innebygde datastrukturer som liste, tuple, sett og ordbok. Folk er vant til å bruke lister. Men det er noen tilfeller der tuple eller ordbok fungerer mye bedre enn lister. For å lære mer datastrukturer og algoritmer, må du gå gjennom Python-læringsbøkene.

03. Try for å minimere bruken av til Løkke


Det er ganske vanskelig å unngå bruk av til Løkke. Men når du får sjansen til å forhindre det, sier ekspertene at du gjør det. For loop er dynamisk i python. Driftstiden er mer enn en stund. Nestet for loop er mye mer tidkrevende. To nestede løkker tar tidens firkant i en singel for løkke.

# code1 for i i big_it: m = re.søk (r '\ d 2 - \ d 2 - \ d 4', i) hvis m:… 
# code2 date_regex = re.kompilere (r '\ d 2 - \ d 2 - \ d 4') for i i big_it: m = date_regex.søk (i) hvis m:… 

Det er bedre å bruke en passende erstatning i dette tilfellet. Videre, hvis til sløyfer er uunngåelige, flytt beregningen utenfor løkken. Det vil spare mye tid. Vi kan se det i eksemplet gitt ovenfor. Her er 2. kode raskere enn 1. kode siden beregningen er gjort utenfor løkken.

04. Unngå globale variabler


Globale variabler brukes i mange tilfeller i python. Globalt nøkkelord brukes til å erklære det. Men disse variablens kjøretid er mer enn den for den lokale variabelen. Hvis du bruker færre av dem, sparer du for unødvendig minnebruk. Dessuten øser Python opp en lokal variabel raskere enn en global. Når du navigerer i eksterne variabler, er Python virkelig treg.

Flere andre programmeringsspråk motarbeider ikke planlagt bruk av globale variabler. Telleren skyldes bivirkninger som fører til høyere kjøretid. Så prøv å bruke en lokal variabel i stedet for en global når det er mulig. Videre kan du lage en lokal kopi før du bruker den i en løkke, noe som sparer tid.

05. Øk bruken av listeforståelse


Listeforståelse gir en kortere syntaks. Det er en håndfull når en ny liste blir laget basert på en eksisterende liste. Loop er et must i hvilken som helst kode. Noen ganger blir syntaksen inne i sløyfen stor. I så fall kan man bruke listeforståelse. Vi kan ta eksemplet for å forstå det mer presist.

# code1 kvadratnummer = [] for n i området (0,20): hvis n% 2 == 1: kvadratnummer.legge til (n ** 2)
# code2 kvadratnummer = [n ** 2 for n i området (1,20) hvis n% 2 == 1]

Her tar den andre koden kortere tid enn den første koden. Tilnærmingen til listeforståelse er kortere og mer presis. Det kan ikke gjøre stor forskjell i små koder. Men i en omfattende utvikling kan det spare deg for litt tid. Så bruk listeforståelse når du har sjansen til å øke hastigheten på Python-koden.

06. Erstatt område () med xrange ()


Spørsmålet om rekkevidde () og xrange () kommer hvis du bruker python 2. Disse funksjonene brukes til å iterere alt i loop. Når det gjelder rekkevidde (), lagrer det alle tallene i området i minnet. Men xrange () lagrer bare rekkevidden av tall som må vises.

Returtypen for område () er en liste, og den for xrange () er et objekt. Til slutt tar xrange () mindre minne og som et resultat mindre tid. Så bruk xrange () i stedet for range () når det er mulig. Dette gjelder selvfølgelig bare for brukere av python 2.

07. Bruk generatorer


I python er en generator en funksjon som returnerer en iterator når søkeordutbyttet kalles. Generatorer er utmerket minneoptimalisering. De returnerer en vare om gangen i stedet for å returnere om gangen. Hvis listen din inneholder et betydelig antall data, og du må bruke én data om gangen, kan du bruke generatorer.

Generatorer beregner data i biter. Derfor kan funksjonen returnere resultatet når det kalles på og beholde tilstanden. Generatorer opprettholder funksjonstilstanden ved å stoppe koden etter at den som ringer genererer verdien, og den fortsetter å løpe fra der den blir sluttet på forespørsel.

Siden generatorer får tilgang til og beregner on-demand-verdien, trenger ikke en betydelig del av dataene å lagres helt i minnet. Det resulterer i betydelige minnebesparelser, og til slutt påskyndet koden.

08. Sammenkoble strenger med Join


Sammenkjøring er ganske vanlig når du arbeider med strenger. Generelt, i python, sammenføyes vi med '+'. I hvert trinn oppretter imidlertid "+" en ny streng og kopierer det gamle materialet. Denne prosessen er ineffektiv og tar lang tid. Vi må bruke join () for å sammenkoble strenger her hvis vi vil øke hastigheten på Python-koden.

# code1 x = "Jeg" + "er" + "en" + "python" + "nerd" utskrift (x)
# code2 x = "".bli med (["I", "am", "a", "python", "geek"]) print (x)

Hvis vi ser på eksemplet, skriver den første koden ut "Iamapythongeek" og den andre koden "Jeg er en python-nerd".  Join () -operasjonen er mer effektiv og raskere enn '+'. Det holder også koden ren. Hvem vil ikke ha en raskere og renere kode? Så prøv å bruke join () i stedet for '+' for å sammenkoble strengene.

09. Profil koden din


Profilering er en klassisk måte å optimalisere koden på. Det er mange moduler for å måle statistikk for et program. Disse får oss til å vite hvor programmet bruker for mye tid og hva vi skal gjøre for å optimalisere det. Så, for å sikre optimalisering, gjennomføre noen tester og forbedre programmet for å forbedre effektiviteten.

Timeren er en av profilerne. Du kan bruke den hvor som helst i koden og finne kjøretiden til hvert trinn. Da kan vi forbedre programmet der det tar for lang tid. Videre er det en innebygd profilmodul kalt LineProfiler. Det gir også en beskrivende rapport om tiden det tar. Det er flere profiler som du kan lære ved å lese pythonbøker.

10. Hold deg oppdatert - Bruk den nyeste versjonen av Python


Det er tusenvis av utviklere som legger til flere funksjoner til python regelmessig. Modulene og biblioteksfunksjonene vi bruker i dag, vil være utdaterte av utviklingen i morgen. Python-utviklere gjør språket raskere og mer pålitelig hver dag. Hver nye utgivelse har økt ytelsen.

Så vi må oppdatere bibliotekene til den nyeste versjonen. Python 3.9 er den siste versjonen nå. Mange python 2-biblioteker kjører kanskje ikke på python3. La oss ha det i bakhodet og alltid bruke den nyeste versjonen for å få maksimal ytelse.

Endelig Insights


Verdien til Python-utviklere i verden øker dag for dag. Så hva venter du på! Det er på høy tid at du begynner å lære å øke hastigheten på python-koden. Tipsene og triksene vi har gitt vil sikkert hjelpe deg med å skrive effektive koder. Hvis du følger dem, kan vi håpe du kan forbedre koden din og gå inn i mer avanserte python-ting.

Vi har prøvd å vise alle de store triksene og tipsene som kreves for å øke hastigheten på koden. Vi håper artikkelen har svart på de fleste spørsmålene dine. Nå er resten over deg. Imidlertid er det ingen slutt på kunnskap og ingen slutt på læring. Så hvis vi har gått glipp av noe større, gi oss beskjed. Glad læring!

Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...