Gli sviluppatori del celebre linguaggio di programmazione creato da Guido van Rossum hanno reso disponibile Python 3.12, un aggiornamento pensato sia per il miglioramento delle performance che per l'integrazione di nuove e interessanti funzionalità.
Python 3.12 e prestazioni
Per quanto riguarda le prestazioni, l'ultima release di Python riprende e conferma il lavoro fatto in precedenza per il passaggio dalla versione 3.10 alla 3.11 che già aveva offerto notevoli benefici da questo punto di vista. La libreria asyncio è stata ottimizzata manifestando in alcuni casi un miglioramento del 75% a livello di performance. Stesso discorso per le comprehension che con l'inlining potrebbero garantire una velocità di esecuzione addirittura raddoppiata.
Di particolare interesse anche i sotto-interpreti, soprattutto per le applicazioni mirate a sfruttare le CPU con architettura multi-core. Essi infatti bypassano i limiti del Global Interpreter Lock e permettono esecuzioni di codice in parallelo tramite istanze isolate dell'interprete del linguaggio.
Gli oggetti immortali
Gli oggetti immortali di Python 3.12 si caratterizzano per non venire mai distrutti dal garbage collector. Il loro numero di riferimento è fisso e vengono sempre considerati indispensabili dal sistema. Uniti ai sotto-intepreti essi consentono anche di operare in modo più efficiente con dati condivisi e persistenti.
pathlib e metodo walk
Il metodo walk
del modulo pathlib semplifica l'esplorazione degli alberi delle directory. Particolarmente utile quando si deve lavorare con applicazioni che interagiscono il file system, esso introduce una nuova modalità di debugging per il monitoraggio delle chiamate, dei valori di ritorno e delle eccezioni.
Stringhe F e messaggi di errore
Le stringhe F di Python 3.12 supportano l'annidamento dei doppi apici. Il codice delle stringhe diventa quindi più semplice da digitare e più leggibile. Per quanto riguarda invece i messaggi di errore, questi risulteranno più chiari, dettagliati e utili, soprattutto perché in grado di offrire suggerimenti per la risoluzione degli errori segnalati. Da questo punto di vista sono particolarmente interessanti le indicazioni relative ai moduli standard, permettendo un risparmio di tempo e un incremento della produttività.