Suggerimenti per la programmazione

I 10 consigli migliori e utili per velocizzare il tuo codice Python

I 10 consigli migliori e utili per velocizzare il tuo codice Python

Se qualcuno ti chiede: "Qual è il linguaggio di programmazione in più rapida crescita al mondo in questo momento??"la risposta sarà semplice. Il suo pitone. La popolarità in tutto il mondo è dovuta alla sua sintassi semplice e alle ricche librerie. Al giorno d'oggi, puoi fare quasi tutto con Python: scienza dei dati, apprendimento automatico, elaborazione del segnale, visualizzazione dei dati - lo chiami. Tuttavia, molte persone affermano che Python è un po' lento nella risoluzione di gravi problemi. Ma il tempo per eseguire un programma dipende dal codice che si scrive. Con alcuni suggerimenti e trucchi, è possibile velocizzare il codice Python e migliorare le prestazioni del programma.

Suggerimenti e trucchi per velocizzare il codice Python


Se stai cercando modi per velocizzare il tuo codice Python, l'articolo fa per te. Illustra le tecniche e le strategie per ridurre i tempi di esecuzione di un programma. I suggerimenti non solo accelereranno il codice, ma miglioreranno anche le abilità di Python.

01. Usa librerie e funzioni integrate


Python ha tonnellate di funzioni e moduli di libreria. Sono scritti da sviluppatori esperti e sono stati testati più volte. Quindi, queste funzioni sono altamente efficienti e aiutano a velocizzare il codice, non è necessario scrivere il codice se la funzione è già disponibile nella libreria. Facciamo un semplice esempio a questo proposito.

#code1 newlist = [] for word in oldlist: newlist.append(parola.superiore())
#code2 newlist = map(str.superiore, vecchia lista)

Qui il secondo codice è più veloce del primo perché è stata utilizzata la funzione di libreria map(). Queste funzioni sono utili per i principianti. Chi non vuole un codice più veloce, pulito e più piccolo da scrivere? Pertanto, usa il più possibile le funzioni e i moduli della libreria.

02. La giusta struttura dei dati al posto giusto


L'uso di una struttura dati adeguata ridurrà il tempo di esecuzione. Prima di iniziare, devi pensare alla struttura dati che verrà utilizzata nel codice. Una struttura dati perfetta accelererà il codice Python mentre altri lo rovineranno. Devi avere un'idea della complessità temporale delle diverse strutture di dati.

Python ha strutture dati integrate come list, tuple, set e dictionary. Le persone sono abituate a usare le liste. Ma ci sono alcuni casi in cui la tupla o il dizionario funzionano molto meglio delle liste. Per imparare più strutture dati e algoritmi, devi leggere i libri di apprendimento di Python.

03. veroy per ridurre al minimo l'uso di per Ciclo continuo


È abbastanza difficile evitare l'uso di per ciclo continuo. Ma ogni volta che hai la possibilità di prevenirlo, gli esperti dicono che lo fai. Il ciclo For è dinamico in Python. Il suo runtime è più di un ciclo while. Il ciclo annidato per il ciclo richiede molto più tempo. Due cicli for annidati prenderanno il quadrato del tempo in un singolo ciclo for.

#code1 per i in big_it: m = re.search(r'\d2-\d2-\d4', i) se m:… 
#code2 date_regex = re.compile(r'\d2-\d2-\d4') for i in big_it: m = date_regex.cerca(i) se m:… 

È meglio usare un sostituto adatto in questo caso. Inoltre, se per i loop sono inevitabili, sposta il calcolo al di fuori del loop. Risparmierà un sacco di tempo. Possiamo vederlo nell'esempio dato sopra. Qui il secondo codice è più veloce del primo codice poiché il calcolo è stato eseguito al di fuori del ciclo.

04. Evita le variabili globali


Le variabili globali sono utilizzate in Python in molti casi. La parola chiave globale viene utilizzata per dichiararlo. Ma il tempo di esecuzione di queste variabili è maggiore di quello della variabile locale. Usarne di meno consente di risparmiare sull'utilizzo di memoria non necessario. Inoltre, Python raccoglie una variabile locale più rapidamente di una globale. Durante la navigazione in variabili esterne, Python è veramente lento.

Diversi altri linguaggi di programmazione si oppongono all'uso non pianificato delle variabili globali. Il contatore è dovuto a effetti collaterali che portano a tempi di esecuzione più lunghi. Quindi, prova a usare una variabile locale invece di una globale quando possibile. Inoltre, puoi fare una copia locale prima di utilizzarla in loop, risparmiando tempo.

05. Aumentare l'uso della comprensione delle liste


La comprensione delle liste offre una sintassi più breve. È una manciata quando viene creato un nuovo elenco basato su un elenco esistente. Il ciclo è un must in qualsiasi codice. A volte la sintassi all'interno del ciclo diventa grande. In tal caso, si può usare la comprensione delle liste. Possiamo prendere l'esempio per capirlo più precisamente.

#code1 numeri_quadrati = [] for n in range(0,20): if n % 2 == 1: numeri_quadrati.append(n**2)
#code2 numeri_quadrati = [n**2 per n nell'intervallo (1,20) se n%2 == 1]

Qui, il secondo codice richiede meno tempo del primo codice. L'approccio alla comprensione delle liste è più breve e più preciso. Potrebbe non fare molta differenza nei codici piccoli. Ma in un ampio sviluppo, può farti risparmiare un po' di tempo. Quindi, usa la comprensione delle liste ogni volta che hai la possibilità di velocizzare il tuo codice Python.

06. Sostituisci range() con xrange()


La questione di range() e xrange() arriva se stai usando python 2. Queste funzioni sono usate per iterare qualsiasi cosa nel ciclo for. Nel caso di range(), salva tutti i numeri nell'intervallo in memoria. Ma xrange() salva solo l'intervallo di numeri che devono essere visualizzati.

Il tipo restituito di range() è una lista e quello di xrange() è un oggetto. Alla fine, xrange() richiede meno memoria e, di conseguenza, meno tempo. Quindi, usa xrange() invece di range() quando possibile. Ovviamente, questo è applicabile solo agli utenti di Python 2.

07. Usa generatori


In Python, un generatore è una funzione che restituisce un iteratore quando viene chiamata la parola chiave yield. I generatori sono ottimi ottimizzatori di memoria. Restituiscono un articolo alla volta invece di restituire tutto alla volta. Se il tuo elenco include un numero considerevole di dati e devi utilizzare un dato alla volta, usa i generatori.

I generatori calcolano i dati in pezzi. Pertanto, la funzione può restituire il risultato quando viene chiamata e mantenere il suo stato. I generatori preservano lo stato della funzione arrestando il codice dopo che il chiamante ha generato il valore e continua a funzionare da dove è stato interrotto su richiesta.

Poiché i generatori accedono e calcolano il valore su richiesta, una parte significativa dei dati non deve essere salvata interamente in memoria. Si traduce in un notevole risparmio di memoria, velocizzando infine il codice.

08. Concatena stringhe con Join


La concatenazione è abbastanza comune quando si lavora con le stringhe. Generalmente, in Python, concateniamo usando '+'. Tuttavia, in ogni passaggio, l'operazione "+" crea una nuova stringa e copia il vecchio materiale. Questo processo è inefficiente e richiede molto tempo. Dobbiamo usare join() per concatenare le stringhe qui se vogliamo velocizzare il nostro codice Python.

#code1 x = "io" + "sono" + "a" + "python" + "geek" print(x)
#codice2 x = " ".join(["io", "sono", "a", "python", "geek"]) print(x)

Se guardiamo l'esempio, il primo codice stampa "Iamapythongeek" e il secondo codice stampa "I am a python geek".  L'operazione join() è più efficiente e più veloce di '+'. Mantiene anche il codice pulito. Chi non vuole un codice più veloce e pulito cleaner? Quindi, prova a usare join() invece di '+' per concatenare le stringhe.

09. Profili il tuo codice


La profilazione è un modo classico di ottimizzare il codice. Ci sono molti moduli per misurare le statistiche di un programma. Questi ci fanno sapere dove il programma sta trascorrendo troppo tempo e cosa fare per ottimizzarlo. Quindi, per garantire l'ottimizzazione, condurre alcuni test e migliorare il programma per migliorare l'efficacia.

Il timer è uno dei profiler. Puoi usarlo ovunque nel codice e trovare il runtime di ogni fase. Quindi possiamo migliorare il programma dove impiega troppo tempo. Inoltre, è presente un modulo profiler integrato chiamato LineProfiler. Fornisce anche un rapporto descrittivo sul tempo consumato. Esistono diversi profiler che puoi imparare leggendo libri su Python.

10. Tieniti aggiornato: usa l'ultima versione di Python


Ci sono migliaia di sviluppatori che aggiungono regolarmente più funzionalità a Python. I moduli e le funzioni di libreria che utilizziamo oggi saranno superati dagli sviluppi di domani. Gli sviluppatori Python stanno rendendo il linguaggio più veloce e affidabile giorno dopo giorno. Ogni nuova versione ha aumentato le sue prestazioni.

Quindi, dobbiamo aggiornare le librerie alla loro ultima versione. Pitone 3.9 è l'ultima versione ora. Molte librerie di python 2 potrebbero non essere eseguite su python3. Teniamolo a mente e utilizziamo sempre l'ultima versione per ottenere le massime prestazioni.

Infine, Approfondimenti


Il valore degli sviluppatori Python nel mondo aumenta di giorno in giorno. Allora, cosa stai aspettando! È giunto il momento di iniziare a imparare ad accelerare il codice Python. I suggerimenti e i trucchi che abbiamo fornito ti aiuteranno sicuramente a scrivere codici efficienti. Se li segui, possiamo sperare che tu possa migliorare il tuo codice e approfondire cose Python più avanzate.

Abbiamo cercato di mostrare tutti i principali trucchi e suggerimenti necessari per velocizzare il codice. Speriamo che l'articolo abbia risposto alla maggior parte delle tue domande. Ora, il resto dipende da te. Tuttavia, non c'è fine alla conoscenza e non c'è fine all'apprendimento. Quindi, se abbiamo perso qualcosa di importante, faccelo sapere. Buon apprendimento!

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...