Python 3.10 si vanta di essere una delle versioni più stabili disponibili per il download da parte degli utenti e verrà rilasciato entro la fine dell'anno. La versione appena rilasciata includerà molte modifiche evidenti, come funzionalità di facile utilizzo sia per i programmatori principianti che per quelli esperti.

I miglioramenti evidenti nella nuova versione di Python includono l'introduzione del modello strutturale corrispondenza, messaggi di errore migliori, nuovi operatori di unione, numeri di riga precisi per il debug e molto altro di più.

Ecco cosa devi sapere su Python 3.10:

Corrispondenza dei modelli strutturali in Python 3.10

Lo Structural Pattern Matching rende la scrittura del codice un gioco da ragazzi e continua a essere uno dei punti salienti dell'ultima versione di Python. Python mira a migliorare le dichiarazioni match-case preesistenti presenti nelle versioni precedenti del linguaggio di programmazione. È stato effettuato un aggiornamento alle istruzioni match-case esistenti all'interno di Python.

instagram viewer

Diamo una rapida occhiata alle implementazioni di Structural Pattern Matching:

L'istruzione match-case fa parte del linguaggio Python da un po' di tempo. Questa affermazione è fondamentalmente utilizzata per evitare il noioso lavoro di scrivere il se altro dichiarazione più volte.

Puoi abbinare oggetti con proprietà simili usando questa funzione nella nuova build.

abbina oggetto_media:
caso Immagine (tipo = "jpg"):
# Restituisci così com'è
return media_object
caso Immagine (type="png") | Immagine (tipo = "gif"):
restituisce render_as (media_object, "jpg")
caso Video():
sollevare ValueError ("Impossibile estrarre i fotogrammi dal video ancora")
caso altro_tipo:
sollevare l'eccezione (f"Il tipo di supporto {media_object} non può essere ancora gestito")

La nuova libreria Python riconosce oggetti come jpg, gif e video. Questo codice può essere eseguito senza problemi senza generare errori.

2. Messaggi di errore migliorati

Ogni programmatore probabilmente comprende l'importanza degli errori durante la scrittura del codice e quanto possono essere esasperanti alcuni tipi di errore. Le versioni precedenti di Python lanciavano messaggi di errore non appena si verificavano problemi nella sintassi. Questi potrebbero essere dovuti a sintassi sbagliata, parole chiave mancanti, parole chiave errate o errate, tra gli altri problemi.

Questi messaggi di errore erano tutt'altro che perfetti in quanto diventava difficile per i principianti (a volte anche per gli utenti avanzati) identificare la vera causa dell'errore nei loro codici. Come programmatore, Google continua ad essere tuo alleato nel decifrare il motivo alla base dei diversi messaggi di errore.

Ad esempio, molte persone potrebbero non sapere perché Python genera il seguente errore:

 SyntaxError: EOF imprevisto durante l'analisi del messaggio di errore.

La mancanza di chiarezza in tali affermazioni ha spinto la versione più recente di Python a migliorare il suo insieme esistente di messaggi di errore.

I messaggi più vecchi sono stati sostituiti con messaggi di errore di facile comprensione come:

{ non è mai stato chiuso EOF imprevisto durante l'analisi

Alcune altre modifiche includono:

Errori di attributo come:

dalle collezioni importare namedtoplo

il modulo 'collezioni' non ha attributo 'namedtoplo'. Forse intendi: namedtuple?

I messaggi NameError vengono modificati per assomigliare a:

nuova_var = 5
print (new_vr)>

NameError: il nome 'new_vr' non è definito. Forse intendi: new_var?

3. Gestori di contesto tra parentesi

I nuovi gestori di contesto tra parentesi possono rendere il tuo codice più elegante. Anche se non è una caratteristica importante, può facilmente rendere il tuo codice meno goffo. Questa funzione è utile se lavori in un team e il tuo codice deve essere strutturato.

Immagina di scrivere una dichiarazione come:

con open('file1.txt', 'r') come fin, open('file2.txt', 'w') come fout:
fout.write (fin.read())

Il codice sopra funziona, ma la prima riga è troppo lunga e sembra goffa. Puoi interrompere la riga usando una barra rovesciata (\) e fai sembrare il codice strutturato:

con open('file1.txt', 'r') come fin, \ open('file2.txt', 'w') come fout: fout.write (fin.read())

Con l'introduzione del nuovo gestore di contesti tra parentesi, puoi anche interrompere la linea usando anche le parentesi:

con (open('file1.txt', 'r') come fin,
open('file2.txt', 'w') as fout):
fout.write (fin.read())

Relazionato: Idee di progetto Python adatte ai principianti

4. Nuovo tipo di operatore sindacale

Una caratteristica piccola ma utile in Python 3.10 è il nuovo tipo di operatore di unione. Ogni versione di Python viene fornita con un set predefinito di funzionalità di suggerimento del tipo.

L'operatore di unione include la logica condizionale; Per esempio, intgalleggiante può essere scritto come Unione[X, Y]. Il nuovo operatore sindacale può essere espresso come int|flottante anche.

L'introduzione di un nuovo operando di unione in Python 3.10 fa risparmiare tempo e rende il codice ben definito.

Per esempio:

def f (x: int | float) -> float:
restituisce x * 3,142
f (1) # pass
f (1.5) # pass
f('str') # linter mostrerà un errore di annotazione

Errore di annotazione in Python

5. Numeri di riga precisi per il debug

Potresti aver notato molte volte prima che la traccia degli errori non ti reindirizza alla riga corretta in cui si è verificato un errore. Ciò rende difficile il debug per i programmatori che hanno appena iniziato a scrivere codice.

La traccia degli errori imperfetta è particolarmente evidente durante la scrittura sys.settrace e strumenti correlati in Python. La versione più recente migliora questo in modo significativo e puoi vedere numeri di riga precisi quando si verifica un errore.

Per portare un numero di riga più preciso, Python 3.10 sposta la sua affidabilità dall'attuale co_Inotab attributo e usa il nuovo metodo co_line() attributo. Questo attributo funziona in modo tale che f_lineo contiene sempre il numero di riga esatto.

1. per (
2. x) in [1]:
3. passaggio
4. Restituzione

Relazionato: Eseguire il debug del codice Python

6. Valutazione posticipata delle annotazioni

All'interno di Python, la valutazione dell'annotazione del tipo viene eseguita al momento della definizione della funzione. Ciò significa che le annotazioni di tipo vengono valutate riga per riga in modo dall'alto verso il basso.

Anche se potrebbe sembrare l'opzione migliore, ci sono ancora due problemi in questo approccio:

  • I suggerimenti di tipo si riferiscono a tipi che non sono ancora definiti e non funzionano; questi suggerimenti devono essere espressi come stringhe.
  • Le importazioni del modulo sono rallentate poiché i suggerimenti di tipo vengono eseguiti in tempo reale.

Per evitare problemi di esecuzione, le annotazioni vengono archiviate in _annotazioni_ e la valutazione viene eseguita insieme. Ciò consente il riferimento in avanti poiché le importazioni dei moduli vengono eseguite per prime, riducendo così il tempo di inizializzazione.

Lavorare con le funzionalità più recenti in Python 3.10

La versione più recente di Python uscirà il 4 ottobre 2021; promette di correggere i bug presenti nelle versioni esistenti. Le versioni che seguono miglioreranno l'attuale versione 3.10.

La mappatura dei modelli strutturali è il punto culminante di questo nuovo aggiornamento e semplifica la scrittura di codici per oggetti simili. Altre funzionalità come Parenthesized Context Managers e il nuovo tipo Union Operators mirano a rendere il codice più semplice ed efficiente.

Tuttavia, ci sono alcune eccellenti tecniche di gestione delle eccezioni all'interno delle versioni esistenti di Python. Puoi fare buon uso delle funzionalità di Python.

CondividereTweetE-mail
Come gestire le eccezioni in Python

Copri le tue basi di codifica con le eccezioni Python.

Leggi Avanti

Argomenti correlati
  • Programmazione
  • Programmazione
  • Pitone
  • Suggerimenti per la codifica
Circa l'autore
Wini Bhalla (21 articoli pubblicati)

Wini è uno scrittore con sede a Delhi, con 2 anni di esperienza di scrittura. Durante i suoi periodi di scrittura, è stata associata ad agenzie di marketing digitale e studi tecnici. Ha scritto contenuti relativi a linguaggi di programmazione, tecnologia cloud, AWS, Machine Learning e molto altro. Nel tempo libero le piace dipingere, trascorrere del tempo con la sua famiglia e viaggiare in montagna, quando possibile.

Altro da Wini Bhalla

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti