Python 3.13, ultimo aggiornamento del linguaggio di programmazione, include diversi miglioramenti e nuove feature presentandosi come una major release. Tra le novità troviamo ad esempio un interprete interattivo rivisto e corretto. Esso offre funzionalità semplificate come il supporto per le modifiche multi-linea. Permettendo agli sviluppatori di aggiornare interi blocchi di codice in modo più efficiente.
Invece di recuperare i comandi precedenti riga per riga, gli utenti possono ora richiamare interi blocchi di codice con un tasto, rendendo molto più facile la revisione di codice complesso contenente funzioni e classi.
Le nuove funzionalità di Python 3.13
Un altro miglioramento nell'interprete è l'introduzione della modalità incolla, accessibile con F3, che consente di inserire facilmente frammenti di codice. L'usabilità migliorata dell'interprete si estende poi a funzioni comuni, come help()
, exit()
e quit()
, che possono ora essere richiamate semplicemente digitando le loro parole chiave. Nuovi comandi, come clear
per cancellare lo schermo, insieme a prompt colorati e traceback migliorati, offrono inoltre un'esperienza più user-friendly.
Python 3.13 is out! And you know what that means?
Forget all those no-GIL (oops, free-threading) and JIT features. Who uses that anyway?
It means exit now works properly on the REPL 😆 pic.twitter.com/znvzmpn9YP
— Playful Python (@playfulpython) October 9, 2024
Novità anche per quanto riguarda le prestazioni del multi-threading. La funzione sperimentale di disabilitazione del GIL (Global Interpreter Lock) fa poi il suo debutto. GIL, che agisce come un mutex per prevenire l'esecuzione simultanea dei thread, è stato infatti una limitazione di lunga data per le prestazioni di Python nelle applicazioni multi-thread. In particolare nei settori caratterizzati da alta intensità di dati come il Machine Learning o il calcolo scientifico.
Con la rimozione del GIL, ora disponibile come opzione, Python può sfruttare maggiormente la potenza dei core della CPU, supportando più efficacemente il parallelismo. Questa funzione rimane però sperimentale e richiede binari specifici per funzionare.
Compilatore JIT
Oltre all'aggiornamento del GIL, Python 3.13 introduce un compilatore JIT (Just-in-Time), anche se ancora in fase iniziale e non abilitato come impostazione predefinita. Il JIT offre un incremento delle prestazioni trasformando il bytecode in codice macchina durante l'esecuzione e accelerando le applicazioni Python. Il team di del linguaggio sta spingendo attivamente in questa direzione, soprattutto per facilitare la gestione di carichi di lavoro ad alta intensità computazionale.
L'aggiornamento rimuove anche diversi moduli obsoleti, depreca strumenti come optparse
e include una nuova interfaccia a riga di comando per generare dati casuali, come numeri interi o parole. Le modifiche al comportamento di funzioni come locals()
migliorano la coerenza. Rendendo il debug più affidabile.