Scopri le entusiasmanti funzionalità di Python 3.12 che semplificheranno la tua vita da sviluppatore.
Python prevede di rilasciare la versione 3.12 del linguaggio nell'ottobre 2023. Questa versione offre una serie di funzionalità e miglioramenti entusiasmanti. Il suo obiettivo è migliorare la tua esperienza di codifica offrendo una piattaforma più efficiente e potente, che ti consente di migliorare le tue capacità di codifica.
1. Messaggi di errore migliorati
Python ha continuamente migliorato i suoi messaggi di errore nelle versioni recenti. IL La versione 3.11 ha introdotto messaggi di errore più accurati indicando le posizioni esatte all'interno delle righe.
Python 3.12 porta questi miglioramenti al livello successivo, con le seguenti aggiunte:
- I suggerimenti per i moduli mancanti ("hai dimenticato di importare X?") ora comprendono i moduli della libreria standard.
- Suggerimenti di errore migliorati per errori di sintassi comuni relativi alle importazioni. Ad esempio, se hai importa p da m nel tuo codice, un errore ti chiederà se intendi scrivere da m importa p.
- Gli errori di importazione per un determinato modulo ora includono suggerimenti dallo spazio dei nomi del modulo importato.
- NomeErrore suggerimenti ora incorporano anche se stesso aggiunto al nome quando generato all'interno di un'istanza di classe. Ad esempio, se il nome velocità non è definito, verrà proposto il messaggio di errore auto.velocità come potenziale correzione. Ciò è particolarmente utile poiché si omette se stesso ad esempio le variabili di istanza sono una fonte comune di errori nelle istanze di classe.
2. Supporto per Linux Perf Profiler
Lo strumento di profilazione di Linux ampiamente utilizzato, perf, ora può funzionare con i programmi Python 3.12. In passato, si concentrava solo sul monitoraggio delle operazioni di livello C all'interno del runtime Python.
Con Python 3.12, ora puoi attivare perf per raccogliere dettagli anche sui programmi Python. Puoi attivarlo a livello di ambiente o all'interno di un programma Python usando il file sys.activate_stack_trampoline funzione.
3. Miglioramenti ai suggerimenti sui tipi
Dalla sua introduzione in Python 3.5, la sintassi di suggerimento del tipo di Python ha consentito agli strumenti di linting di rilevare in anticipo un'ampia gamma di errori. Con ogni versione successiva, il sistema di digitazione di Python si è evoluto per comprendere una gamma più ampia di casi d'uso, offrendo funzionalità di digitazione migliorate.
DigitatoDict
Python 3.12 introduce il uso di TypedDicts come fonte per suggerire argomenti di parole chiave nelle funzioni. Questo utilizza il generico Unpack variadic, introdotto dalla versione 3.11.
Ecco un esempio che illustra questa funzione:
classeFilm(Dict digitato):
nome: str
anno: int
defpippo(**kwargs: Disimballare[Film]) -> Nessuno: ...
In questo caso la funzione pippo può ricevere argomenti di parole chiave con nomi e tipi che si allineano con i contenuti del Movie TypedDict: nome di tipo str E anno di tipo int.
Questo miglioramento si rivela prezioso quando le funzioni di suggerimento del tipo accettano argomenti facoltativi solo per parole chiave senza valori predefiniti.
Tipo Parametro Sintassi
Python 3.12 introduce una sintassi più concisa per specificare i tipi in classi generiche, funzioni o alias di tipo.
Considera quanto segue:
# il vecchio metodo
da digitando importare TipoVar
_T = TipoVar("_T")
deffunz(a: _T, b: _T) -> _T:
...
# il nuovo metodo del parametro di tipo
deffunz[T](a: T, b: T) ->T:
...
Con la nuova sintassi, non è necessario importare TypeVar in modo esplicito. Invece, puoi utilizzare il funzione[T] sintassi per indicare riferimenti di tipo generico. È anche possibile definire limiti di tipo, ad esempio specificando che un tipo deve appartenere a un gruppo di tipi. Tuttavia, questi tipi stessi non possono essere generici. Un esempio di questa sintassi è funzione[T: (str, int)].
4. Raccolta dei rifiuti
In Python 3.12, il meccanismo di Garbage Collection (GC). è cambiato. In precedenza, il GC veniva eseguito ogni volta che veniva allocato un oggetto.
Tuttavia, a partire da Python 3.12, il GC opera esclusivamente all'interno del interruttore di valutazione meccanismo nel ciclo bytecode Python. In altre parole, corre tra l'esecuzione di un bytecode e il successivo.
Inoltre, il GC si attiva anche quando viene richiamato il meccanismo di controllo del gestore di segnale di CPython. Questa modifica consente la raccolta periodica dei rifiuti durante le chiamate con esecuzione prolungata alle estensioni C al di fuori del runtime.
Presentazione di Python 3.12
Python 3.12 introduce una gamma di funzionalità e miglioramenti entusiasmanti, rivoluzionando l'esperienza di programmazione per te. Con messaggi di errore migliorati, capacità di digitazione migliorate, supporto per Linux Perf Profiler e raccolta dei rifiuti ottimizzata, Python 3.12 ti fornisce gli strumenti per scrivere codice di alta qualità in modo efficiente. Abbraccia la potenza di Python ed eleva le tue capacità di programmazione a nuovi livelli.