Nyheter, Prylar, Android, Mobiler, Appnedladdningar, Android

De 10 bästa och användbara tipsen för att snabba upp din Python-kod

Om någon frågar dig – “Vilket är det snabbast växande programmeringsspråket i världen just nu?” svaret kommer att vara enkelt. Dess pyton. Den globala populariteten beror på dess enkla syntax och rika bibliotek. Nuförtiden kan du nästan göra vad som helst med python: datavetenskap, maskininlärning, signalbehandling, datavisualisering – you name it. Men många hävdar att python är lite långsam när de löser allvarliga problem. Men tiden för att köra ett program beror på koden man skriver. Med några tips och tricks kan man snabba upp Python-koden och förbättra programmets prestanda.

Tips och tricks för att påskynda Python-koden


Om du letar efter sätt att snabba upp din pythonkod, är artikeln för dig. Den illustrerar teknikerna och strategierna för att minska exekveringstiden för ett program. Inte bara kommer tipsen att påskynda koden, utan de kommer också att förbättra python-färdigheterna.

01. Använd inbyggda bibliotek och funktioner


Python har massor av biblioteksfunktioner och moduler. De är skrivna av expertutvecklare och har testats flera gånger. Så dessa funktioner är mycket effektiva och hjälper till att snabba upp koden – du behöver inte skriva koden om funktionen redan är tillgänglig i biblioteket. Vi tar ett enkelt exempel i detta avseende.

#code1
newlist = []
for word in oldlist:
    newlist.append(word.upper())
#code2
newlist = map(str.upper, oldlist)

Här är den andra koden snabbare än den första eftersom biblioteksfunktionen map() har använts. Dessa funktioner är praktiska för nybörjare. Vem vill inte ha snabbare samt ren och mindre kod att skriva? Använd därför biblioteksfunktioner och moduler så mycket som möjligt.

02. Rätt datastruktur på rätt plats


Att använda korrekt datastruktur kommer att minska körtiden. Innan du börjar måste du tänka på vilken datastruktur som kommer att användas i koden. En perfekt datastruktur kommer att påskynda pythonkoden medan andra kommer att förstöra den. Du måste ha en uppfattning om tidskomplexiteten hos olika datastrukturer.

Python har inbyggda datastrukturer som list, tuple, set och ordbok. Människor är vana vid att använda listor. Men det finns vissa fall där tupel eller ordbok fungerar mycket bättre än listor. För att lära dig mer datastrukturer och algoritmer måste du gå igenom Python-inlärningsböckerna.

03. Try för att minimera användningen av for Loop


Det är ganska svårt att undvika användningen av for loop. Men närhelst du får en chans att förhindra det, säger experterna att du gör det. För loop är dynamisk i python. Dess körtid är mer än en stundsslinga. Nested for loop är mycket mer tidskrävande. Två kapslade för loopar tar kvadraten av tiden i en singel för loop.

#code1
for i in big_it:
    m = re.search(r'\d{2}-\d{2}-\d{4}', i)
    if m:
        ...
#code2
date_regex = re.compile(r'\d{2}-\d{2}-\d{4}')

for i in big_it:
    m = date_regex.search(i)
    if m:
        ...

Det är bättre att använda en lämplig ersättning i detta fall. Dessutom, om för loopar är oundvikliga, flytta beräkningen utanför loopen. Det kommer att spara mycket tid. Vi kan se det i exemplet ovan. Här är 2:a koden snabbare än 1:a koden eftersom beräkningen har gjorts utanför slingan.

04. Undvik globala variabler


Globala variabler används i python i många fall. Globalt nyckelord används för att deklarera det. Men dessa variablers körtid är mer än den för den lokala variabeln. Genom att använda färre av dem sparar du onödig minnesanvändning. Dessutom tar Python upp en lokal variabel snabbare än en global. När du navigerar externa variabler är Python verkligen trögt.

Flera andra programmeringsspråk motsätter sig oplanerad användning av globala variabler. Räknaren beror på biverkningar som leder till högre körtid. Så försök att använda en lokal variabel istället för en global när det är möjligt. Dessutom kan du göra en lokal kopia innan du använder den i en loop, vilket sparar tid.

05. Öka användningen av listförståelse


Listförståelse erbjuder en kortare syntax. Det är en handfull när en ny lista görs utifrån en befintlig lista. Loop är ett måste i alla koder. Ibland blir syntaxen inuti slingan stor. I så fall kan man använda listförståelse. Vi kan ta exemplet för att förstå det mer exakt.

#code1
square_numbers = []
  for n in range(0,20):
    if n % 2 == 1:
      square_numbers.append(n**2)
#code2
square_numbers = [n**2 for n in range(1,20) if n%2 == 1]

Här tar den andra koden kortare tid än den första. Tillvägagångssättet för listförståelse är kortare och mer exakt. Det kanske inte gör så stor skillnad i små koder. Men i en omfattande utveckling kan det spara lite tid. Så använd listförståelse när du har chansen att snabba upp din Python-kod.

06. Ersätt range() med xrange()


Frågan om range() och xrange() kommer om du använder python 2. Dessa funktioner används för att iterera allt i for loop. När det gäller range() sparas alla siffror i intervallet i minnet. Men xrange() sparar bara det antal nummer som behöver visas.

Returtypen för range() är en lista och den för xrange() är ett objekt. Så småningom tar xrange() mindre minne och som ett resultat mindre tid. Så använd xrange() istället för range() när det är möjligt. Naturligtvis är detta endast tillämpligt på python 2-användare.

07. Använd generatorer


I python är en generator en funktion som returnerar en iterator när nyckelordets avkastning anropas. Generatorer är utmärkta minnesoptimerare. De returnerar en vara i taget istället för att returnera alla åt gången. Om din lista innehåller ett stort antal data och du behöver använda en data åt gången, använd generatorer.

Generatorer beräknar data i bitar. Därför kan funktionen returnera resultatet när den anropas och behålla sitt tillstånd. Generatorer bevarar funktionstillståndet genom att stoppa koden efter att den som ringer har genererat värdet, och den fortsätter att köras där den slutade på begäran.

Eftersom generatorer får tillgång till och beräknar on-demand-värdet, behöver en betydande del av data inte sparas helt i minnet. Det resulterar i avsevärda minnesbesparingar, vilket i slutändan påskyndar koden.

08. Sammanfoga strängar med Join


Sammankoppling är ganska vanligt när man arbetar med strängar. I python sammanfogar vi vanligtvis med ‘+’. Men i varje steg skapar “+” operationen en ny sträng och kopierar det gamla materialet. Denna process är ineffektiv och tar mycket tid. Vi måste använda join() för att sammanfoga strängar här om vi vill påskynda vår Python-kod.

#code1
x = "I" + "am" + "a" + "python" + "geek" 
print(x)
#code2
x = " ".join(["I", "am", "a", "python", "geek"])
print(x)

Om vi ​​tittar på exemplet så skriver den första koden ”Iamapythongeek” och den andra koden skriver ut ”Jag är en pytonnörd”. Operationen join() är effektivare och snabbare än ‘+’. Det håller också koden ren. Vem vill inte ha en snabbare och renare kod? Så försök att använda join() istället för ‘+’ för att sammanfoga strängar.

09. Profilera din kod


Profilering är ett klassiskt sätt att optimera koden. Det finns många moduler för att mäta ett programs statistik. Dessa gör att vi vet var programmet spenderar för mycket tid och vad vi ska göra för att optimera det. Så, för att säkerställa optimering, utför några tester och förbättra programmet för att förbättra effektiviteten.

Timern är en av profilerna. Du kan använda den var som helst i koden och hitta körtiden för varje steg. Då kan vi förbättra programmet där det tar för lång tid. Dessutom finns det en inbyggd profileringsmodul som heter LineProfiler. Den ger också en beskrivande rapport om den tid som går åt. Det finns flera profiler som du kan lära dig genom att läsa pythonböcker.

10. Håll dig uppdaterad – Använd den senaste versionen av Python


Det finns tusentals utvecklare som lägger till fler funktioner till python regelbundet. Modulerna och biblioteksfunktionerna som vi använder idag kommer att vara föråldrade av utvecklingen i morgon. Python-utvecklare gör språket snabbare och mer tillförlitligt dag för dag. Varje ny utgåva har ökat sin prestanda.

Så vi måste uppdatera biblioteken till deras senaste version. Python 3.9 är den senaste versionen nu. Många bibliotek av python 2 kanske inte körs på python3. Låt oss ha det i åtanke och alltid använda den senaste versionen för att få maximal prestanda.

Till sist, Insikter


Värdet av Python-utvecklare i världen ökar dag för dag. Så vad väntar du på! Det är hög tid att du börjar lära dig att snabba upp pythonkoden. De tips och tricks vi gav kommer säkert att hjälpa dig att skriva effektiva koder. Om du följer dem kan vi hoppas att du kan förbättra din kod och gå in på mer avancerade python-grejer.

Vi har försökt visa alla de stora knep och tips som krävs för att påskynda kod. Vi hoppas att artikeln har besvarat de flesta av dina frågor. Nu är resten på dig. Men det finns inget slut på kunskap och inget slut på lärande. Så om vi har missat något större, låt oss veta. Lycka till med lärandet!