Programmēšanas padomi

10 labākie un noderīgākie padomi, lai paātrinātu jūsu Python kodu

10 labākie un noderīgākie padomi, lai paātrinātu jūsu Python kodu

Ja kāds tev jautā: “Kāda ir visātrāk augošā programmēšanas valoda pasaulē šobrīd?”Atbilde būs vienkārša. Tā pitons. Vispasaules popularitāte ir saistīta ar tās vienkāršo sintaksi un bagātīgajām bibliotēkām. Mūsdienās ar pitonu var gandrīz visu izdarīt: datu zinātne, mašīnmācīšanās, signālu apstrāde, datu vizualizācija - jūs to nosaucat. Tomēr daudzi cilvēki apgalvo, ka pitons ir nedaudz lēns, risinot nopietnas problēmas. Bet programmas izpildes laiks ir atkarīgs no paša uzrakstītā koda. Izmantojot dažus padomus un ieteikumus, var paātrināt Python kodu un uzlabot programmas veiktspēju.

Padomi un ieteikumi, kā paātrināt Python kodu


Gadījumā, ja meklējat veidus, kā paātrināt pitona kodu, raksts ir domāts jums. Tas ilustrē paņēmienus un stratēģijas, lai samazinātu programmas izpildes laiku. Padomi ne tikai paātrinās kodu, bet arī uzlabos pitona prasmes.

01. Izmantojiet iebūvētās bibliotēkas un funkcijas


Python ir daudz bibliotēkas funkciju un moduļu. Tos raksta ekspertu izstrādātāji un tie ir vairākkārt pārbaudīti. Šīs funkcijas ir ļoti efektīvas un palīdz paātrināt kodu - kods nav jāraksta, ja funkcija jau ir pieejama bibliotēkā. Šajā sakarā mēs ņemam vienkāršu piemēru.

# code1 newlist = [] vārdam vecajā sarakstā: jauns saraksts.pievienot (vārds.augšējais ())
# code2 newlist = karte (str.augšējais, vecais saraksts)

Šeit otrais kods ir ātrāks nekā pirmais kods, jo ir izmantota bibliotēkas funkciju karte (). Šīs funkcijas ir noderīgas iesācējiem. Kurš gan nevēlas, lai rakstītu ātrāk, kā arī tīru un mazāku kodu? Tāpēc pēc iespējas izmantojiet bibliotēkas funkcijas un moduļus.

02. Pareiza datu struktūra pareizajā vietā


Pareizas datu struktūras izmantošana samazinās izpildlaiku. Pirms sākat, jums ir jādomā par datu struktūru, kas tiks izmantota kodā. Ideāla datu struktūra paātrinās pitona kodu, bet citi to sajauks. Jums ir jābūt idejai par dažādu datu struktūru laika sarežģītību.

Python ir iebūvētas datu struktūras, piemēram, saraksts, kopa, kopa un vārdnīca. Cilvēki ir pieraduši izmantot sarakstus. Bet ir daži gadījumi, kad dubultā vai vārdnīca darbojas daudz labāk nekā saraksti. Lai uzzinātu vairāk datu struktūru un algoritmu, jums ir jāpārskata Python mācību grāmatas.

03. Try, lai samazinātu priekš Loop


Ir diezgan grūti izvairīties no priekš cilpa. Bet ikreiz, kad rodas iespēja to novērst, eksperti saka, ka jūs to darāt. Jo cilpa ir dinamiska pitonā. Tā izpildlaiks ir vairāk nekā brītiņa cilpa. Ligzdota cilpa ir daudz laikietilpīgāka. Divi cilpām ligzdoti laika kvadrātu ņems vienā cilpā.

# kods1 i lielajā_it: m = re.meklēt (r '\ d 2 - \ d 2 - \ d 4', i) ja m:… 
# code2 date_regex = re.kompilēt (r '\ d 2 - \ d 2 - \ d 4') i lielajā_it: m = date_regex.meklēt (i) ja m:… 

Šajā gadījumā labāk ir izmantot piemērotu aizstājēju. Turklāt, ja priekš cilpas ir neizbēgamas, pārvietojiet aprēķinu ārpus cilpas. Tas ietaupīs daudz laika. Mēs to varam redzēt iepriekš sniegtajā piemērā. Šeit 2. kods ir ātrāks nekā 1. kods, jo aprēķins ir veikts ārpus cilpas.

04. Izvairieties no globālajiem mainīgajiem


Daudzos gadījumos pitonā tiek izmantoti globālie mainīgie. Lai to deklarētu, tiek izmantots globālais atslēgvārds. Bet šo mainīgo izpildlaiks ir vairāk nekā lokālā mainīgā. Izmantojot mazāk no tiem, tiek ietaupīts no nevajadzīgas atmiņas izmantošanas. Turklāt Python vietējo mainīgo savāc ātrāk nekā globālo. Pārvietojoties ārējos mainīgos, Python ir patiesi gausa.

Vairākas citas programmēšanas valodas iebilst pret globālo mainīgo neplānotu izmantošanu. Skaitītājs ir saistīts ar blakusparādībām, kas izraisa lielāku izpildlaiku. Tātad, ja iespējams, mēģiniet izmantot vietējo mainīgo nevis globālo. Turklāt jūs varat izveidot lokālu kopiju pirms tās izmantošanas ciklā, ietaupot laiku.

05. Palielināt izpratni par sarakstiem


Sarakstu izpratne piedāvā īsāku sintaksi. Tas ir nedaudz, ja tiek izveidots jauns saraksts, pamatojoties uz esošu sarakstu. Cilpa ir obligāta jebkurā kodā. Dažreiz sintakse cilpas iekšpusē kļūst liela. Tādā gadījumā var izmantot saraksta izpratni. Mēs varam ņemt piemēru, lai to precīzāk saprastu.

# code1 square_numbers = [] n diapazonā (0,20): ja n% 2 == 1: square_numbers.pievienot (n ** 2)
# code2 square_numbers = [n ** 2 n diapazonā (1,20), ja n% 2 == 1]

Šeit otrais kods aizņem mazāk laika nekā pirmais kods. Pieeja saraksta izpratnei ir īsāka un precīzāka. Mazos kodos var nebūt lielas atšķirības. Bet plašā attīstībā tas var ietaupīt kādu laiku. Tātad, izmantojiet saraksta izpratni, kad vien jums ir iespēja paātrināt Python kodu.

06. Aizstāt diapazonu () ar xrange ()


Jautājums par diapazonu () un xrange () rodas, ja izmantojat 2. pitonu. Šīs funkcijas tiek izmantotas, lai kaut ko atkārtotu ciklā. Diapazona () gadījumā tas visus diapazonā esošos skaitļus saglabā atmiņā. Bet xrange () saglabā tikai to skaitļu diapazonu, kuri jāparāda.

Range () atgriešanas veids ir saraksts, un xrange () ir objekts. Galu galā xrange () aizņem mazāk atmiņas un līdz ar to mazāk laika. Tātad, kad vien iespējams, diapazona () vietā izmantojiet xrange (). Protams, tas attiecas tikai uz pitona 2 lietotājiem.

07. Izmantojiet ģeneratorus


Pitonā ģenerators ir funkcija, kas atgriež iteratoru, kad tiek izsaukts atslēgvārda ienesīgums. Ģeneratori ir lielisks atmiņas optimizētājs. Viņi atdod vienu priekšmetu vienlaikus, nevis atdod visus vienlaikus. Ja jūsu sarakstā ir ievērojams skaits datu un jums vienlaikus jāizmanto vieni dati, izmantojiet ģeneratorus.

Ģeneratori aprēķina datus gabalos. Tādēļ funkcija var atgriezt rezultātu, kad tā tiek aicināta, un saglabāt savu stāvokli. Ģeneratori saglabā funkcijas stāvokli, pārtraucot kodu pēc tam, kad zvanītājs ir ģenerējis vērtību, un tas turpina darboties no vietas, kur tas tiek pārtraukts pēc pieprasījuma.

Tā kā ģeneratori piekļūst un aprēķina vērtību pēc pieprasījuma, ievērojama datu daļa nav pilnībā jāsaglabā atmiņā. Tas ļauj ievērojami ietaupīt atmiņu, kas galu galā paātrina kodu.

08. Savienojiet virknes ar Join


Savienošana ir diezgan izplatīta, strādājot ar stīgām. Parasti pitonā mēs savienojam, izmantojot “+”. Tomēr katrā solī operācija “+” izveido jaunu virkni un kopē veco materiālu. Šis process ir neefektīvs un prasa daudz laika. Mums ir jāizmanto join (), lai šeit savienotu virknes, ja mēs vēlamies paātrināt mūsu Python kodu.

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

Ja paskatāmies uz piemēru, pirmais kods izdrukā “Iamapythongeek” un otrais kods “I am a python geek”.  Join () darbība ir efektīvāka un ātrāka nekā '+'. Tas arī uztur kodu tīru. Kurš gan nevēlas ātrāku un tīrāku kodu? Tātad, mēģiniet savienot virknes ar “+” vietā pievienoties join ().

09. Profilējiet savu kodu


Profilēšana ir klasisks koda optimizācijas veids. Programmas statistikas mērīšanai ir daudz moduļu. Tie liek mums zināt, kur programma pavada pārāk daudz laika un kas jādara, lai to optimizētu. Tātad, lai nodrošinātu optimizāciju, veiciet dažus testus un uzlabojiet programmu, lai uzlabotu efektivitāti.

Taimeris ir viens no profilētājiem. Varat to izmantot jebkur kodā un atrast katra posma izpildlaiku. Tad mēs varam uzlabot programmu tur, kur tas aizņem pārāk ilgu laiku. Turklāt ir iebūvēts profilētāja modulis ar nosaukumu LineProfiler. Tas arī sniedz aprakstošu pārskatu par patērēto laiku. Ir vairāki profilētāji, kurus jūs varat uzzināt, lasot python grāmatas.

10. Atjauniniet sevi - izmantojiet jaunāko Python versiju


Ir tūkstošiem izstrādātāju, kuri regulāri pievieno vairāk funkciju pitonam. Moduļi un bibliotēkas funkcijas, kuras mēs izmantojam šodien, būs novecojuši rītdienas attīstībā. Python izstrādātāji valodu katru dienu padara ātrāku un uzticamāku. Katrs jauns izlaidums ir palielinājis tā veiktspēju.

Tātad mums jāatjaunina bibliotēkas uz to jaunāko versiju. Python 3.9 tagad ir jaunākā versija. Daudzas pitona 2 bibliotēkas, iespējams, nedarbojas ar python3. Paturēsim to prātā un vienmēr izmantojiet jaunāko versiju, lai iegūtu maksimālu veiktspēju.

Visbeidzot, Ieskats


Python izstrādātāju vērtība pasaulē ar katru dienu pieaug. Tātad, ko jūs gaidāt! Ir pēdējais laiks sākt mācīties, lai paātrinātu pitona kodu. Mūsu sniegtie padomi un ieteikumi noteikti palīdzēs jums uzrakstīt efektīvus kodus. Ja jūs tos ievērosit, mēs varam cerēt, ka jūs varat uzlabot savu kodu un iedziļināties sarežģītākās pitona lietās.

Mēs esam mēģinājuši parādīt visus galvenos trikus un padomus, kas nepieciešami koda paātrināšanai. Mēs ceram, ka raksts ir atbildējis uz lielāko daļu jūsu jautājumu. Tagad pārējais ir jums. Tomēr zināšanām un mācībām nav beigu. Tāpēc, ja kaut ko lielu esam palaiduši garām, dariet mums to zināmu. Laimīgu mācīšanos!

Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...
Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...