Programmeertips

De 10 beste en nuttige tips om uw Python-code te versnellen

De 10 beste en nuttige tips om uw Python-code te versnellen

Als iemand je vraagt: "Wat is momenteel de snelst groeiende programmeertaal ter wereld?"?” het antwoord zal eenvoudig zijn. zijn python. De wereldwijde populariteit is te danken aan de eenvoudige syntaxis en rijke bibliotheken. Tegenwoordig kun je bijna alles met python: datawetenschap, machine learning, signaalverwerking, datavisualisatie - noem maar op. Veel mensen beweren echter dat python een beetje traag is bij het oplossen van ernstige problemen. Maar de tijd om een ​​programma uit te voeren hangt af van de code die men schrijft. Met enkele tips en trucs kan men Python-code versnellen en de prestaties van het programma verbeteren.

Tips en trucs om Python-code te versnellen


Als u op zoek bent naar manieren om uw python-code te versnellen, is dit artikel iets voor u. Het illustreert de technieken en strategieën om de uitvoeringstijd van een programma te verminderen. Niet alleen zullen de tips de code versnellen, maar ze zullen ook de python-vaardigheden verbeteren.

01. Ingebouwde bibliotheken en functies gebruiken


Python heeft talloze bibliotheekfuncties en modules. Ze zijn geschreven door deskundige ontwikkelaars en zijn meerdere keren getest. Deze functies zijn dus zeer efficiënt en helpen de code te versnellen - het is niet nodig om de code te schrijven als de functie al beschikbaar is in de bibliotheek. We nemen in dit verband een eenvoudig voorbeeld:.

#code1 newlist = [] voor woord in oldlist: newlist.toevoegen (woord.bovenste())
#code2 nieuwe lijst = map(str.bovenste, oude lijst)

Hier is de tweede code sneller dan de eerste code omdat de bibliotheekfunctie map() is gebruikt. Deze functies zijn handig voor beginners. Wie wil er nu niet snellere en schonere en kleinere code schrijven?? Maak daarom zoveel mogelijk gebruik van bibliotheekfuncties en -modules.

02. De juiste gegevensstructuur op de juiste plaats


Het gebruik van de juiste gegevensstructuur zal de runtime verkorten. Voordat u begint, moet u nadenken over de gegevensstructuur die in de code zal worden gebruikt. Een perfecte datastructuur zal de python-code versnellen, terwijl anderen het zullen verknoeien. Je moet een idee hebben over de tijdscomplexiteit van verschillende datastructuren.

Python heeft ingebouwde datastructuren zoals list, tuple, set en dictionary. Mensen zijn gewend aan het gebruik van lijsten. Maar er zijn gevallen waarin tuple of woordenboek veel beter werkt dan lijsten. Om meer datastructuren en algoritmen te leren, moet je de Python-leerboeken doornemen.

03. try om het gebruik van te minimaliseren voor Lus


Het is vrij moeilijk om het gebruik van te vermijden voor lus. Maar wanneer je de kans krijgt om het te voorkomen, zeggen de experts dat je het doet. For-lus is dynamisch in python. De runtime is meer dan een while-lus. Nested for loop kost veel meer tijd. Twee geneste for-lussen nemen het kwadraat van de tijd in een enkele for-lus.

#code1 voor i in big_it: m = re.zoeken(r'\d2-\d2-\d4', i) als m:… 
#code2 date_regex = re.compile(r'\d2-\d2-\d4') voor i in big_it: m = date_regex.zoek(i) als m:… 

Het is in dit geval beter om een ​​geschikte vervanging te gebruiken. Bovendien, als voor lussen zijn onvermijdelijk, verplaats de berekening buiten de lus. Het zal veel tijd besparen. We kunnen het zien in het bovenstaande voorbeeld:. Hier is de 2e code sneller dan de 1e code omdat de berekening buiten de lus is gedaan.

04. Vermijd globale variabelen


In python worden in veel gevallen globale variabelen gebruikt. Globaal trefwoord wordt gebruikt om het te declareren. Maar de runtime van deze variabelen is meer dan die van de lokale variabele. Door er minder van te gebruiken, bespaart u onnodig geheugengebruik. Trouwens, Python schept een lokale variabele sneller op dan een globale. Bij het navigeren door externe variabelen is Python echt traag.

Verschillende andere programmeertalen zijn tegen het ongeplande gebruik van globale variabelen. De teller is te wijten aan bijwerkingen die leiden tot een langere looptijd. Probeer dus waar mogelijk een lokale variabele te gebruiken in plaats van een globale. Bovendien kunt u een lokale kopie maken voordat u deze in een lus gebruikt, wat tijd bespaart.

05. Verhoog het gebruik van lijstbegrip


Lijstbegrip biedt een kortere syntaxis. Het is een handvol wanneer een nieuwe lijst wordt gemaakt op basis van een bestaande lijst. Loop is een must in elke code. Soms wordt de syntaxis in de lus groot. In dat geval kan men lijstbegrip gebruiken. We kunnen het voorbeeld nemen om het nauwkeuriger te begrijpen.

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

Hier kost de tweede code minder tijd dan de eerste code. De aanpak voor het begrijpen van lijsten is korter en nauwkeuriger. Het maakt misschien niet veel uit in kleine codes. Maar in een uitgebreide ontwikkeling kan het je wat tijd besparen. Gebruik dus lijstbegrip wanneer u de kans krijgt om uw Python-code te versnellen.

06. Vervang range() door xrange()


De kwestie van range() en xrange() komt als je python gebruikt. Deze functies worden gebruikt om alles in for loop te herhalen. In het geval van range(), slaat het alle getallen in het bereik op in het geheugen. Maar xrange() slaat alleen de reeks getallen op die moeten worden weergegeven.

Het retourtype van range() is een lijst, en dat van xrange() is een object. Uiteindelijk neemt xrange() minder geheugen in beslag en daardoor minder tijd. Gebruik dus waar mogelijk xrange() in plaats van range(). Dit is natuurlijk alleen van toepassing op gebruikers van python 2.

07. Generatoren gebruiken


In python is een generator een functie die een iterator retourneert wanneer de sleutelwoordopbrengst wordt aangeroepen. Generatoren zijn een uitstekende geheugenoptimalisatie. Ze retourneren één item tegelijk in plaats van alles tegelijk terug te sturen. Als uw lijst een aanzienlijk aantal gegevens bevat en u één gegevens tegelijk moet gebruiken, gebruik dan generatoren.

Generatoren berekenen gegevens in stukjes. Daarom kan de functie het resultaat retourneren wanneer hij wordt aangeroepen en zijn status behouden. Generatoren behouden de functiestatus door de code te stoppen nadat de beller de waarde heeft gegenereerd, en deze blijft op verzoek verder lopen vanaf het punt waar hij was gebleven.

Aangezien generatoren toegang hebben tot de on-demand waarde en deze berekenen, hoeft een aanzienlijk deel van de gegevens niet volledig in het geheugen te worden opgeslagen. Het resulteert in aanzienlijke geheugenbesparingen, waardoor de code uiteindelijk wordt versneld.

08. Strings samenvoegen met Join


Aaneenschakeling is vrij gebruikelijk bij het werken met tekenreeksen. Over het algemeen voegen we in python samen met '+'. In elke stap maakt de bewerking "+" echter een nieuwe string en kopieert het oude materiaal. Dit proces is inefficiënt en kost veel tijd. We moeten join() gebruiken om strings hier samen te voegen als we onze Python-code willen versnellen.

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

Als we naar het voorbeeld kijken, drukt de eerste code "Iamapythongeek" af en de tweede code drukt "I am a python geek" af.  De bewerking join() is efficiënter en sneller dan '+'. Het houdt ook de code schoon. Wie wil er niet een snellere en schonere code? Dus, probeer join() te gebruiken in plaats van '+' om strings samen te voegen.

09. Profileer uw code


Profilering is een klassieke manier om de code te optimaliseren. Er zijn veel modules om de statistieken van een programma te meten. Deze laten ons weten waar het programma te veel tijd doorbrengt en wat we moeten doen om het te optimaliseren. Dus, om te zorgen voor optimalisatie, voer enkele tests uit en verbeter het programma om de effectiviteit te verbeteren.

De timer is een van de profilers. Je kunt het overal in de code gebruiken en de looptijd van elke fase vinden. Dan kunnen we het programma verbeteren waar het te lang duurt. Bovendien is er een ingebouwde profilermodule genaamd LineProfiler. Het geeft ook een beschrijvend rapport over de verbruikte tijd. Er zijn verschillende profilers die je kunt leren door pythonboeken te lezen.

10. Houd jezelf op de hoogte - Gebruik de nieuwste versie van Python


Er zijn duizenden ontwikkelaars die regelmatig meer functies aan Python toevoegen. De modules en bibliotheekfuncties die we vandaag gebruiken, zullen door de ontwikkelingen van morgen verouderd zijn. Python-ontwikkelaars maken de taal elke dag sneller en betrouwbaarder. Elke nieuwe release heeft zijn prestaties verbeterd.

We moeten de bibliotheken dus bijwerken naar hun nieuwste versie. Python 3.9 is nu de nieuwste versie. Veel bibliotheken van python 2 werken mogelijk niet op python3. Laten we dat in gedachten houden en altijd de nieuwste versie gebruiken om maximale prestaties te krijgen.

Eindelijk, Inzichten


De waarde van Python-ontwikkelaars in de wereld neemt met de dag toe. Dus waar wacht je op! Het is hoog tijd dat je begint te leren om de python-code te versnellen. De tips en trucs die we hebben gegeven, zullen je zeker helpen om efficiënte codes te schrijven. Als je ze volgt, kunnen we hopen dat je je code kunt verbeteren en meer geavanceerde python-dingen kunt gebruiken.

We hebben geprobeerd alle belangrijke trucs en tips te laten zien die nodig zijn om de code te versnellen. We hopen dat het artikel de meeste van je vragen heeft beantwoord. Nu, de rest is aan jou. Er komt echter geen einde aan kennis en geen einde aan leren. Dus, als we iets belangrijks hebben gemist, laat het ons weten. Veel plezier met leren!

Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...
Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...