3.9.0 Python

S'ha llançat una nova versió estable del popular llenguatge de programació Python.

Python és un llenguatge de programació d'alt nivell i de propòsit general destinat a millorar la productivitat dels desenvolupadors i la llegibilitat del codi. Les característiques principals són l'escriptura dinàmica, la gestió automàtica de la memòria, la introspecció completa, el mecanisme de gestió d'excepcions, el suport per a la informàtica multiprocés, les estructures de dades d'alt nivell.

Python és un llenguatge estable i estès. S'utilitza en molts projectes i amb diverses capacitats: com a llenguatge de programació principal o per crear extensions i integracions d'aplicacions. Principals àrees d'aplicació: desenvolupament web, aprenentatge automàtic i anàlisi de dades, automatització i administració de sistemes. Actualment, Python ocupa el tercer lloc del rànquing TIOBE.

Principals canvis:

Nou analitzador d'alt rendiment basat en gramàtiques PEG.

A la nova versió, l'analitzador actual de Python basat en gramàtiques LL(1) (gramàtica KS) es substitueix per un nou analitzador estable i d'alt rendiment basat en PEG (gramàtica PB). Els analitzadors per a idiomes representats per gramàtiques KS, com ara els analitzadors LR, requereixen un pas especial d'anàlisi lèxica que divideix l'entrada segons espais en blanc, puntuació, etc. Això és necessari perquè aquests analitzadors utilitzen la preparació per processar algunes gramàtiques KS en temps lineal. Les gramàtiques RV no requereixen un pas separat d'anàlisi lèxica, i les regles per a això es poden establir juntament amb altres regles gramaticals.

Nous operadors i funcions

S'han afegit dos nous operadors a la classe dict integrada, | per combinar diccionaris i |= per actualitzar.

S'han afegit dues funcions noves a la classe str: str.removeprefix(prefix) i str.removesuffix(suffix).

Suggeriment de tipus per a tipus de col·lecció integrat

Aquesta versió inclou suport per a la sintaxi del generador a totes les col·leccions estàndard disponibles actualment.

def read_blog_tags(etiquetes: llista[str]) -> Cap:
per a les etiquetes a les etiquetes:
print("Nom de l'etiqueta", etiqueta)

Altres canvis

  • PEP 573 Accés a l'estat del mòdul mitjançant mètodes d'extensió C

  • PEP 593 Funcions flexibles i anotacions variables

  • PEP 602 Python passa a versions estables anuals

  • PEP 614 Restriccions gramaticals relaxants als decoradors

  • Suport a la base de dades de fus horari PEP 615 IANA a la biblioteca estàndard

  • BPO 38379 La recollida d'escombraries no bloqueja els objectes recuperats

  • BPO 38692 os.pidfd_open, per al control de processos sense carreres i senyals;

  • BPO 39926 Suport Unicode actualitzat a la versió 13.0.0

  • BPO 1635741, Python ja no té filtracions en inicialitzar Python diverses vegades en el mateix procés

  • Col·leccions de Python (interval, tupla, conjunt, conjunt congelat, llista, dictat) accelerades amb la trucada vectorial PEP 590

  • Alguns mòduls de Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) ara utilitzen la inicialització polifàsica tal com es defineix a PEP 489

  • Alguns mòduls de biblioteca estàndard (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) ara utilitzen l'ABI estable definit per PEP 384.

Font: linux.org.ru

Afegeix comentari