Python 3.9.0

È stato rilasciato un nuovo aggiornamento stabile del popolare linguaggio di programmazione Python.

Python è un linguaggio di programmazione di alto livello, adatto a scopi generali, concepito per migliorare la produttività degli sviluppatori e la leggibilità del codice. Le caratteristiche principali includono tipizzazione dinamica, gestione automatica della memoria, introspezione completa, gestione delle eccezioni e supporto per il calcolo multithreading, oltre a strutture dati di alto livello.

Python è un linguaggio stabile e diffuso, utilizzato in molti progetti e in diverse capacità: come linguaggio di programmazione principale o per la creazione di estensioni e integrazione di applicazioni. Le principali aree di applicazione includono lo sviluppo web, l'apprendimento automatico e l'analisi dei dati, nonché automazione e amministrazione di sistema. Attualmente, Python occupa il terzo posto nella classifica TIOBE.

Principali modifiche:

Un nuovo parser ad alte prestazioni basato su grammatiche PEG.

Nella nuova versione, l'attuale parser Python basato su grammatiche LL(1) (grammatica CFG) è stato sostituito da un nuovo analizzatore sintattico ad alte prestazioni e stabile basato su PEG (grammatica PRG). Gli analizzatori per linguaggi rappresentati da grammatiche CFG, come gli analizzatori LR, richiedono un passaggio lessicale speciale che scompone i dati in ingresso in base a spazi, punteggiatura e così via. Questo è necessario poiché questi analizzatori utilizzano un'analisi preliminare per elaborare alcune grammatiche CFG in tempo lineare. Le grammatiche PRG non richiedono un passaggio lessicale separato e le regole per esse possono essere incorporate con altre regole grammaticali.

Nuovi operatori e funzioni

Due nuovi operatori, | per la fusione dei dizionari e |= per l'aggiornamento, sono stati aggiunti alla classe integrata dict.

Due nuove funzioni sono state aggiunte alla classe str: str.removeprefix(prefisso) e str.removesuffix(suffisso).

Suggerimento di tipo per tipi di collezione integrati

Questa versione include il supporto per la sintassi dei generatori in tutte le collezioni standard attualmente disponibili.

def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Nome Tag", tag)

Altre modifiche

  • PEP 573 Accesso allo stato del modulo tramite metodi di estensione C

  • PEP 593 Funzioni e annotazioni variabili flessibili

  • PEP 602 Python introduce rilasci stabili annuali

  • PEP 614 Allentamento delle restrizioni grammaticali sui decoratori

  • PEP 615 Supporto per il database IANA sui fusi orari nella libreria standard

  • BPO 38379 la raccolta dei rifiuti non è bloccata sugli oggetti ripristinati

  • BPO 38692 os.pidfd_open, per la gestione dei processi senza condizioni di competizione e segnali;

  • BPO 39926 supporto per Unicode aggiornato alla versione 13.0.0

  • BPO 1635741, durante l'inizializzazione multipla di Python nello stesso processo, non si verifica più perdita di memoria

  • Le collezioni Python (range, tuple, set, frozenset, list, dict) sono ottimizzate con la chiamata vettoriale PEP 590

  • Alcuni moduli Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) ora usano l'inizializzazione multi-fase, come definito in PEP 489

  • Una serie di moduli standard della libreria (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) ora utilizza un ABI stabile definito dal PEP 384.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster