Se qualcuno ti chiede – “Qual è il linguaggio di programmazione in più rapida crescita al mondo in questo momento?? “La risposta sarà semplice. È Python. La popolarità mondiale è dovuta alla sua sintassi semplice e alle ricche librerie.

Al giorno d’oggi, puoi fare quasi tutto con Python: data science, machine learning, elaborazione del segnale, visualizzazione dei dati… Tuttavia, molte persone affermano che Python è un po’ lento nel risolvere problemi seri.

Ma il tempo di esecuzione di un programma dipende dal codice che viene scritto. Con alcuni suggerimenti e trucchi, si può velocizza il codice Python e migliora le prestazioni del programma.

I 10 migliori consigli utili per velocizzare il tuo codice Python

Suggerimenti e trucchi per velocizzare il codice Python

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

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. Pertanto, 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(word.upper())
#code2
newlist = map(str.upper, oldlist)

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 desidera scrivere codice più veloce, più pulito e più piccolo? Pertanto, utilizzare il più possibile le funzioni e i moduli della libreria.

02. La struttura dati giusta al posto giusto

L’utilizzo di una struttura dati adeguata ridurrà i tempi di esecuzione. Prima di iniziare, devi pensare alla struttura dati che verrà utilizzata nel tuo 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 dizionario. 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. Cerca di ridurre al minimo l’uso del ciclo for

È abbastanza difficile evitare di usare il ciclo for. Ma ogni volta che hai la possibilità di evitarlo, gli esperti dicono di farlo. Il ciclo for è dinamico in Python. Il suo tempo di esecuzione è più lungo di quello di un ciclo while. Il ciclo for annidato richiede molto più tempo. Due cicli for annidati occuperanno il quadrato del tempo di un singolo ciclo for.

#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:
        ...

In questo caso è meglio utilizzare un sostituto adatto. Inoltre, se i cicli for sono inevitabili, sposta il calcolo fuori dal ciclo. Risparmierà molto tempo. Lo vediamo nell’esempio precedente. Qui il secondo codice è più veloce del primo, 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 è più lungo di quello delle variabili locali. L’utilizzo di meno di essi consente di risparmiare l’utilizzo di memoria non necessario. Inoltre, Python rileva una variabile locale più velocemente di una globale. Durante la navigazione di variabili esterne, Python è molto lento.

Diversi altri linguaggi di programmazione si oppongono all’uso non pianificato di variabili globali. Il compromesso è dovuto agli effetti collaterali che causano un tempo di esecuzione più lungo. Quindi prova a usare una variabile locale invece di una globale quando possibile. Inoltre, puoi creare 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 si crea 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, è possibile utilizzare la comprensione delle liste. Possiamo prendere l’esempio per capirlo più precisamente.

#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]

Qui il secondo codice impiega 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. Pertanto, usa la comprensione delle liste ogni volta che hai l’opportunità di velocizzare il tuo codice Python.

06. Sostituisci range() con xrange()

Il problema di range() e xrange() si presenta se stai usando python 2. Queste funzioni sono usate per scorrere qualsiasi cosa nel ciclo for. Nel caso di range(), memorizza tutti i numeri nell’intervallo in memoria. Ma xrange() memorizza solo l’intervallo di numeri che deve essere visualizzato.

Il tipo restituito di range() è un elenco e il tipo restituito di xrange() è un oggetto. In definitiva, xrange() occupa meno memoria e di conseguenza meno tempo. Pertanto, usa xrange() invece di range() quando possibile. Ovviamente, questo è applicabile solo agli utenti di Python 2.

07. Usa i generatori

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

I generatori calcolano i dati in parti. 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 l’esecuzione da dove è stata interrotta quando richiesto.

Poiché i generatori accedono e calcolano il valore su richiesta, non è necessario mantenere una parte significativa dei dati interamente in memoria. Il risultato è un notevole risparmio di memoria, che alla fine accelera il codice.

08. Concatena le stringhe con Join

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

#code1
x = "I" + "am" + "a" + "python" + "geek" 
print(x)
#code2
x = " ".join(["I", "am", "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 desidera un codice più veloce e pulito? Quindi, prova a usare join() invece di ‘+’ per concatenare le stringhe.

09. Profila il tuo codice

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

Il timer è uno dei profiler. Può essere utilizzato ovunque nel codice e trovare il tempo di esecuzione per ogni fase. Quindi possiamo migliorare il programma dove impiega troppo tempo.

, esiste un modulo profiler integrato chiamato LineProfiler. Fornisce anche un rapporto descrittivo sul tempo consumato. Ci sono diversi profiler che puoi imparare leggendo libri su Python.

10. Rimani 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 di giorno in giorno. Ogni nuova versione ha aumentato le sue prestazioni.

Leggi: I 10 migliori linguaggi di programmazione per l’intelligenza artificiale e l’apprendimento automatico

Pertanto, dobbiamo aggiornare le librerie alla loro versione più recente. Python 3.9 è l’ultima versione ora. Molte librerie python 2 potrebbero non funzionare in python3. Teniamolo a mente e utilizziamo sempre l’ultima versione per ottenere le migliori prestazioni.

Conclusione

Il valore di Gli sviluppatori Python nel mondo aumentano di giorno in giorno. Allora, cosa stai aspettando! È ora che inizi a imparare come velocizzare il codice Python. Il suggerimenti e trucchi che abbiamo fornito ti aiuterà sicuramente a scrivere codici efficienti. Se li segui, possiamo sperare che tu possa migliorare il tuo codice e entrare in cose Python più avanzate.

Abbiamo cercato di mostrare tutto suggerimenti e trucchi principali richiesti nell’accelerazione del codice. Speriamo che l’articolo abbia risposto alla maggior parte delle tue domande. Adesso il resto dipende da te. Tuttavia, la conoscenza e l’apprendimento sono infiniti. Quindi, se abbiamo perso qualcosa di importante, faccelo sapere. Buon apprendimento!

La disfunzione sessuale tra le donne è prevalente, può verificarsi a qualsiasi età e può essere causata da numerosi fattori. cialis I problemi di prestazioni sessuali possono mettere a dura prova la tua relazione con un partner.