Python 3.9.0

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

Python è un linguaggio di programmazione ad alto livello, orientato all'uso generale, progettato per aumentare la produttività degli sviluppatori e la leggibilità del codice. Le caratteristiche principali includono tipizzazione dinamica, gestione automatica della memoria, introspezione completa, meccanismo di gestione delle eccezioni, supporto per calcoli multithread e strutture dati di alto livello.

Python è un linguaggio stabile e ampiamente diffuso. Viene utilizzato in molti progetti e in diversi contesti: sia come linguaggio di programmazione principale che per la creazione di estensioni e integrazione di applicazioni. Le principali aree di applicazione includono: sviluppo web, apprendimento automatico e analisi dei dati, automazione e amministrazione di sistema. Attualmente Python occupa il terzo posto nella classifica TIOBE.

Variazioni principali:

Un nuovo parser ad alte prestazioni basato su grammatiche PEG.

Nella nuova versione, il parser Python attuale, basato su grammatiche LL(1) (grammatica CFG), è stato sostituito da un nuovo parser ad alte prestazioni e stabile basato su PEG (grammatica GLL). I parser per i linguaggi rappresentati da grammatiche CFG, come i parser LR, richiedono un passaggio di analisi lessicale separato che divide i dati in ingresso in base a spazi, punteggiatura e così via. Ciò è necessario poiché questi parser utilizzano analisi preliminare per elaborare alcune grammatiche CFG in tempo lineare. Le grammatiche GLL non richiedono un passaggio di analisi lessicale separato e le regole per questa possono essere incorporate insieme ad altre regole grammaticali.

Nuovi operatori e funzioni

Due nuovi operatori, | per unire dizionari e |= per aggiornare, sono stati aggiunti alla classe dict incorporata.

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

Suggerimento di tipo per i tipi di raccolta incorporati

In questa versione è stato incluso il supporto per la sintassi dei generatori in tutte le raccolte 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 flessibili e annotazioni di variabili

  • PEP 602 Python passa a rilasci stabili annuali

  • PEP 614 Mitigazione delle restrizioni grammaticali sui decoratori

  • PEP 615 Supporto del database IANA per i fusi orari nella libreria standard

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

  • BPO 38692 os.pidfd_open, per gestire i processi senza race condition e segnali;

  • BPO 39926 supporto Unicode aggiornato alla versione 13.0.0

  • BPO 1635741, nella inizializzazione multipla di Python nello stesso processo, non si verifica più alcuna perdita di memoria

  • Collezioni Python (range, tuple, set, frozenset, list, dict) accelerate tramite la chiamata vettoriale PEP 590

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

  • Una serie di moduli standard delle librerie (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) ora utilizza un ABI stabile, definito nel 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