Nasveti za programiranje

10 najboljših in uporabnih nasvetov za pospešitev kode Python

10 najboljših in uporabnih nasvetov za pospešitev kode Python

Če vas kdo vpraša - »Kateri je trenutno najhitreje rastoči programski jezik na svetu?”Odgovor bo preprost. Njegov piton. Svetovna priljubljenost je posledica preproste skladnje in bogatih knjižnic. Dandanes lahko s pythonom storite skoraj vse: znanost o podatkih, strojno učenje, obdelava signalov, vizualizacija podatkov - poimenujte ga. Vendar mnogi trdijo, da je python med reševanjem resnih težav nekoliko počasen. Toda čas izvajanja programa je odvisen od kode, ki jo napišemo. Z nekaj nasveti in triki lahko pospešite kodo Python in izboljšate delovanje programa.

Namigi za pospešitev kode Python


Če iščete načine za pospešitev kode python, je članek namenjen vam. Ilustrira tehnike in strategije za skrajšanje časa izvajanja programa. Nasveti ne bodo le pospešili kode, temveč bodo izboljšali tudi sposobnosti pythona.

01. Uporabite vgrajene knjižnice in funkcije


Python ima na tone knjižničnih funkcij in modulov. Pišejo jih strokovni razvijalci in so bili večkrat preizkušeni. Torej, te funkcije so zelo učinkovite in pomagajo pospešiti kodo - kode ni treba pisati, če je funkcija že na voljo v knjižnici. V zvezi s tem vzamemo preprost primer.

# code1 newlist = [] za besedo na oldlist: newlist.priloži (beseda.zgornji ())
# code2 newlist = map (str.zgornji, stari seznam)

Tu je druga koda hitrejša od prve, ker je bila uporabljena funkcija knjižnice map (). Te funkcije so priročne za začetnike. Kdo si ne želi pisanja hitrejše, pa tudi čiste in manjše kode? Zato čim bolj uporabljajte funkcije knjižnice in module.

02. Pravilna struktura podatkov na pravem mestu


Uporaba pravilne strukture podatkov bo zmanjšala čas izvajanja. Preden začnete, morate razmisliti o podatkovni strukturi, ki bo uporabljena v kodi. Popolna podatkovna struktura bo pospešila kodo pythona, medtem ko jo bodo drugi zmotili. Imeti morate predstavo o časovni zapletenosti različnih struktur podatkov.

Python ima vgrajene podatkovne strukture, kot so seznam, nabor, nabor in slovar. Ljudje so navajeni uporabljati sezname. Toda v nekaterih primerih nabor ali slovar deluje veliko bolje kot seznami. Če želite izvedeti več podatkovnih struktur in algoritmov, morate prebrati Python učne knjige.

03. Try, da zmanjšate uporabo za Loop


Težko se je izogniti uporabi za zanko. Toda kadar koli imate priložnost, da to preprečite, strokovnjaki pravijo, da to storite. Zanka je dinamična v pythonu. Njegov čas izvajanja je več kot nekajkrat zanka. Gnezdena zanka je veliko bolj zamudna. Dve ugnezdeni zanki zavzameta kvadrat časa v eni zanki for.

# code1 za i v velik_it: m = re.išči (r '\ d 2 - \ d 2 - \ d 4', i), če m:… 
# code2 date_regex = re.sestavi (r '\ d 2 - \ d 2 - \ d 4') za i v velik_it: m = datum_regex.išči (i) če m:… 

V tem primeru je bolje uporabiti ustrezen nadomestek. Poleg tega, če za zanke neizogibne, izračun premaknite zunaj zanke. To bo prihranilo veliko časa. To lahko vidimo na zgornjem primeru. Tu je 2. koda hitrejša od 1. kode, saj je bil izračun opravljen zunaj zanke.

04. Izogibajte se globalnim spremenljivkam


Globalne spremenljivke se v pythonu pogosto uporabljajo. Za njeno razglasitev se uporablja ključna beseda. Toda čas izvajanja teh spremenljivk je več kot čas lokalne spremenljivke. Če jih uporabljate manj, prihranite pred nepotrebno uporabo pomnilnika. Poleg tega Python hitreje zajema lokalno spremenljivko kot globalno. Pri krmarjenju po zunanjih spremenljivkah je Python resnično počasen.

Številni drugi programski jeziki nasprotujejo nenačrtovani uporabi globalnih spremenljivk. Števec je posledica stranskih učinkov, ki vodijo do večjega časa delovanja. Torej, kadar koli je mogoče, poskusite uporabiti lokalno spremenljivko namesto globalne. Poleg tega lahko naredite lokalno kopijo, preden jo uporabite v zanki, s čimer prihranite čas.

05. Povečajte uporabo razumevanja seznama


Razumevanje seznama ponuja krajšo sintakso. Peščica je, ko je nov seznam sestavljen na podlagi obstoječega seznama. Loop je obvezen v kateri koli kodi. Včasih sintaksa znotraj zanke postane velika. V tem primeru lahko uporabimo razumevanje seznama. Za natančnejše razumevanje lahko vzamemo primer.

# code1 kvadratnih_številk = [] za n v obsegu (0,20): če je n% 2 == 1: kvadratnih_številk.priloži (n ** 2)
# code2 kvadratna_številka = [n ** 2 za n v obsegu (1,20), če je n% 2 == 1]

Tu druga koda traja manj časa kot prva. Pristop k razumevanju seznama je krajši in natančnejši. V majhnih kodah morda ne bo veliko razlike. Toda z obsežnim razvojem vam lahko prihranite nekaj časa. Torej, uporabite razumevanje seznama, kadar koli imate priložnost pospešiti kodo Python.

06. Zamenjaj obseg () z xrange ()


Zadeva range () in xrange () pride, če uporabljate python 2. Te funkcije se uporabljajo za ponovitev česar koli v zanki for. V primeru obsega () shrani v pomnilnik vse številke v obsegu. Toda xrange () shrani samo obseg številk, ki jih je treba prikazati.

Vrnjena vrsta obsega () je seznam, vrsta xrange () pa objekt. Sčasoma xrange () vzame manj pomnilnika in posledično manj časa. Torej uporabite xrange () namesto range (), kadar je le mogoče. Seveda to velja samo za uporabnike python 2.

07. Uporabite generatorje


V pythonu je generator funkcija, ki vrne iterator, ko se pokliče donos ključne besede. Generatorji so odličen optimizator pomnilnika. Vrnejo po en predmet, namesto da bi vrnili vse naenkrat. Če vaš seznam vključuje precejšnje število podatkov in morate naenkrat uporabljati po en podatek, uporabite generatorje.

Generatorji izračunajo podatke v kosih. Zato lahko funkcija ob pozivu vrne rezultat in ohrani svoje stanje. Generatorji ohranijo stanje funkcije tako, da zaustavijo kodo, potem ko klicatelj generira vrednost, in ta še naprej teče od mesta, kjer je na zahtevo končana.

Ker generatorji dostopajo in izračunajo vrednost na zahtevo, velikega dela podatkov ni treba shraniti v celoti v pomnilnik. Posledica je precejšen prihranek pomnilnika, kar na koncu pospeši kodo.

08. Združi nize z združevanjem


Združevanje je pri delu s strunami precej pogosto. Na splošno se v pythonu združimo z uporabo '+'. Vendar v vsakem koraku operacija "+" ustvari nov niz in kopira stari material. Ta postopek je neučinkovit in traja veliko časa. Če želimo pospešiti kodo Pythona, moramo tukaj združiti nize z uporabo join ().

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

Če pogledamo primer, prva koda natisne "Iamapythongeek", druga pa "I am a python geek".  Operacija join () je učinkovitejša in hitrejša od '+'. Prav tako ohranja kodo čisto. Kdo si ne želi hitrejše in čistejše kode? Torej, poskusite uporabiti join () namesto '+' za združevanje nizov.

09. Profil svojo kodo


Profiliranje je klasičen način optimizacije kode. Obstaja veliko modulov za merjenje statistike programa. Ti nam dajo vedeti, kje program porablja preveč časa in kaj storiti, da ga optimiziramo. Da bi zagotovili optimizacijo, izvedite nekaj testov in izboljšajte program za izboljšanje učinkovitosti.

Časovnik je eden od profilov. Uporabite ga lahko kjer koli v kodi in poiščete čas izvajanja posamezne stopnje. Potem lahko program izboljšamo tam, kjer traja predolgo. Poleg tega je vgrajen modul za profiliranje, imenovan LineProfiler. Daje tudi opisno poročilo o porabljenem času. Obstaja več profilov, ki se jih lahko naučite z branjem knjig o pythonu.

10. Bodite na tekočem - uporabljajte najnovejšo različico Pythona


Obstaja na tisoče razvijalcev, ki pythonu redno dodajajo več funkcij. Moduli in funkcije knjižnice, ki jih uporabljamo danes, bodo jutrišnji dogodki zastareli. Razvijalci Pythona jezik iz dneva v dan hitreje in zanesljiveje. Vsaka nova izdaja je povečala svojo zmogljivost.

Knjižnice moramo torej posodobiti na najnovejšo različico. Python 3.9 je zdaj najnovejša različica. Številne knjižnice pythona 2 se morda ne bodo izvajale na python3. Imejmo to v mislih in vedno uporabimo najnovejšo različico, da dosežemo največjo zmogljivost.

Končno, Vpogledi


Vrednost razvijalcev Pythona na svetu se iz dneva v dan povečuje. Torej, kaj še čakaš! Skrajni čas je, da se začnete učiti pospeševati kodo python. Nasveti in triki, ki smo jih zagotovili, vam bodo zagotovo pomagali pri pisanju učinkovitih kod. Če jim sledite, lahko upamo, da boste lahko izboljšali svojo kodo in se lotili naprednejših stvari o pythonu.

Poskusili smo prikazati vse glavne trike in nasvete, ki so potrebni za pospešitev kode. Upamo, da je članek odgovoril na večino vaših vprašanj. Ostalo je na tebi. Vendar znanja ni ne konca ne učenja. Torej, če smo kaj večjega zamudili, nam to sporočite. Veselo učenje!

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...