Programmeringstip

De 10 bedste og nyttige tip til at fremskynde din Python-kode

De 10 bedste og nyttige tip til at fremskynde din Python-kode

Hvis nogen spørger dig - ”Hvad er det hurtigst voksende programmeringssprog i verden lige nu?”Svaret vil være simpelt. Dens python. Den verdensomspændende popularitet skyldes dens enkle syntaks og rige biblioteker. I dag kan du næsten gøre alt med python: Datalogi, maskinindlæring, signalbehandling, datavisualisering - du hedder det. Imidlertid hævder mange mennesker, at python er lidt langsom, mens de løser alvorlige problemer. Men tiden til at udføre et program afhænger af koden man skriver. Med nogle tip og tricks kan man fremskynde Python-koden og forbedre programmets ydeevne.

Tips og tricks til at fremskynde Python-kode


Hvis du søger efter måder at fremskynde din python-kode, er artiklen noget for dig. Det illustrerer teknikkerne og strategierne til at reducere gennemførelsen af ​​et program. Ikke kun vil tipene fremskynde koden, men de vil også forbedre python-færdigheder.

01. Brug indbyggede biblioteker og funktioner


Python har masser af biblioteksfunktioner og moduler. De er skrevet af ekspertudviklere og er blevet testet flere gange. Så disse funktioner er meget effektive og hjælper med at fremskynde koden - intet behov for at skrive koden, hvis funktionen allerede er tilgængelig i biblioteket. Vi tager et simpelt eksempel i denne henseende.

# code1 newlist = [] for ord i oldlist: newlist.tilføje (ord.øverst())
# code2 newlist = map (str.øverste, gamle liste)

Her er den anden kode hurtigere end den første kode, fordi biblioteksfunktionskortet () er blevet brugt. Disse funktioner er nyttige for begyndere. Hvem ønsker ikke hurtigere såvel som ren og mindre kode at skrive? Brug derfor biblioteksfunktioner og moduler så meget som muligt.

02. Højre datastruktur på det rigtige sted


Brug af korrekt datastruktur reducerer køretiden. Før du starter, skal du tænke på datastrukturen, der skal bruges i koden. En perfekt datastruktur vil fremskynde pythonkoden, mens andre ødelægger den. Du skal have en idé om tidskompleksiteten af ​​forskellige datastrukturer.

Python har indbyggede datastrukturer såsom liste, tuple, sæt og ordbog. Folk er vant til at bruge lister. Men der er nogle tilfælde, hvor tuple eller ordbog fungerer meget bedre end lister. For at lære flere datastrukturer og algoritmer skal du gennemgå Python-læringsbøgerne.

03. Try for at minimere brugen af til Sløjfe


Det er ret svært at undgå brugen af til løkke. Men når du får en chance for at forhindre det, siger eksperterne, at du gør det. For loop er dynamisk i python. Dens driftstid er mere end et stykke tid. Indlejret til løkke er langt mere tidskrævende. To indlejrede til løkker tager tidens firkant i en enkelt for løkke.

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

Det er bedre at bruge en passende erstatning i dette tilfælde. Desuden, hvis til sløjfer er uundgåelige, flyt beregningen uden for sløjfen. Det sparer meget tid. Vi kan se det i eksemplet ovenfor. Her er 2. kode hurtigere end 1. kode, da beregningen er foretaget uden for sløjfen.

04. Undgå globale variabler


Globale variabler bruges i python i mange tilfælde. Globalt nøgleord bruges til at erklære det. Men disse variablers løbetid er mere end den for den lokale variabel. Brug af færre af dem sparer for unødvendig hukommelsesforbrug. Desuden skaffer Python hurtigere en lokal variabel op end en global. Når du navigerer i eksterne variabler, er Python virkelig træg.

Flere andre programmeringssprog modsætter sig ikke-planlagt brug af globale variabler. Tælleren skyldes bivirkninger, der fører til højere køretid. Så prøv at bruge en lokal variabel i stedet for en global, når det er muligt. Desuden kan du lave en lokal kopi, inden du bruger den i en loop, hvilket sparer tid.

05. Forøg brugen af ​​listeforståelse


Listeforståelse giver en kortere syntaks. Det er en håndfuld, når der oprettes en ny liste baseret på en eksisterende liste. Loop er et must i enhver kode. Nogle gange bliver syntaksen inde i sløjfen stor. I så fald kan man bruge listeforståelse. Vi kan tage eksemplet for at forstå det mere præcist.

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

Her tager den anden kode kortere tid end den første kode. Tilgangen til listeforståelse er kortere og mere præcis. Det gør muligvis ikke meget forskel i små koder. Men i en omfattende udvikling kan det spare dig noget tid. Så brug listeforståelse, når du har chancen for at fremskynde din Python-kode.

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


Spørgsmålet om rækkevidde () og xrange () kommer, hvis du bruger python 2. Disse funktioner bruges til at gentage alt i loop. I tilfælde af rækkevidde () gemmer det alle numrene i området i hukommelsen. Men xrange () gemmer kun antallet af numre, der skal vises.

Returtypen for interval () er en liste, og den for xrange () er et objekt. Til sidst tager xrange () mindre hukommelse og som følge heraf mindre tid. Så brug xrange () i stedet for range () når det er muligt. Dette gælder naturligvis kun for brugere af python 2.

07. Brug generatorer


I python er en generator en funktion, der returnerer en iterator, når nøgleordets udbytte kaldes. Generatorer er fremragende hukommelsesoptimering. De returnerer en vare ad gangen i stedet for at returnere dem ad gangen. Hvis din liste indeholder et betydeligt antal data, og du skal bruge én data ad gangen, skal du bruge generatorer.

Generatorer beregner data i stykker. Derfor kan funktionen returnere resultatet, når det kaldes, og bevare sin tilstand. Generatorer bevarer funktionstilstanden ved at stoppe koden, når den, der ringer op, genererer værdien, og den fortsætter med at køre fra det sted, hvor den bliver afbrudt efter anmodning.

Da generatorer får adgang til og beregner on-demand-værdien, behøver en betydelig del af data ikke at blive gemt helt i hukommelsen. Det resulterer i betydelige hukommelsesbesparelser, hvilket i sidste ende fremskynder koden.

08. Sammenkæd strenge med Join


Sammenkædning er ret almindelig, når du arbejder med strenge. Generelt sammenkæder vi i python ved hjælp af '+'. Imidlertid opretter "+" i hvert trin en ny streng og kopierer det gamle materiale. Denne proces er ineffektiv og tager meget tid. Vi skal bruge join () til at sammenkæde strenge her, hvis vi vil fremskynde vores Python-kode.

# code1 x = "Jeg" + "er" + "en" + "python" + "nørd" udskrivning (x)
# code2 x = "".join (["I", "am", "a", "python", "geek"]) print (x)

Hvis vi ser på eksemplet, udskriver den første kode "Iamapythongeek" og den anden kode udskriver "Jeg er en python-nørd".  Join () -operationen er mere effektiv og hurtigere end '+'. Det holder også koden ren. Hvem ønsker ikke en hurtigere og renere kode? Så prøv at bruge join () i stedet for '+' for at sammenkæde strenge.

09. Profil din kode


Profilering er en klassisk måde at optimere koden på. Der er mange moduler til måling af et programs statistik. Disse får os til at vide, hvor programmet bruger for meget tid, og hvad vi skal gøre for at optimere det. Så for at sikre optimering skal du gennemføre nogle tests og forbedre programmet for at forbedre effektiviteten.

Timeren er en af ​​profilerne. Du kan bruge det hvor som helst i koden og finde runtime for hvert trin. Så kan vi forbedre programmet, hvor det tager for lang tid. Derudover er der et indbygget profilermodul kaldet LineProfiler. Det giver også en beskrivende rapport om den brugte tid. Der er flere profiler, som du kan lære ved at læse pythonbøger.

10. Hold dig opdateret - Brug den nyeste version af Python


Der er tusindvis af udviklere, der regelmæssigt tilføjer flere funktioner til python. De moduler og biblioteksfunktioner, som vi bruger i dag, vil være forældede af udviklingen i morgen. Python-udviklere gør sproget hurtigere og mere pålideligt dag for dag. Hver nye udgivelse har øget sin præstation.

Så vi er nødt til at opdatere bibliotekerne til deres seneste version. Python 3.9 er den nyeste version nu. Mange biblioteker med python 2 kører muligvis ikke på python3. Lad os huske det og altid bruge den nyeste version for at opnå maksimal ydelse.

Endelig Insights


Værdien af ​​Python-udviklere i verden stiger dag for dag. Så hvad venter du på! Det er på høje tid, at du begynder at lære at fremskynde python-koden. De tip og tricks, vi har leveret, vil helt sikkert hjælpe dig med at skrive effektive koder. Hvis du følger dem, kan vi håbe, at du kan forbedre din kode og gå ind i mere avancerede python-ting.

Vi har forsøgt at vise alle de store tricks og tip, der kræves for at fremskynde koden. Vi håber, at artiklen har besvaret de fleste af dine spørgsmål. Nu er resten over dig. Der er dog ingen ende på viden og ingen ende på læring. Så hvis vi har gået glip af noget større, så lad os det vide. Glad læring!

OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...