python 3.9.0

Lanzouse unha nova versión estable da popular linguaxe de programación Python.

Python é unha linguaxe de programación de alto nivel e de propósito xeral destinada a mellorar a produtividade dos desenvolvedores e a lexibilidade do código. As principais características son a escritura dinámica, a xestión automática da memoria, a introspección completa, o mecanismo de manexo de excepcións, o soporte para a computación multiproceso e as estruturas de datos de alto nivel.

Python é unha linguaxe estable e estendida. Utilízase en moitos proxectos e con diversas capacidades: como linguaxe de programación principal ou para crear extensións e integracións de aplicacións. Principais áreas de aplicación: desenvolvemento web, aprendizaxe automática e análise de datos, automatización e administración de sistemas. Actualmente Python ocupa o terceiro lugar na clasificación TIOBE.

Principais cambios:

Novo analizador de alto rendemento baseado en gramáticas PEG.

Na nova versión, o analizador actual de Python baseado en gramáticas LL(1) (gramática KS) substitúese por un novo analizador estable e de alto rendemento baseado en PEG (gramatica PB). Os analizadores para linguas representadas polas gramáticas KS, como os analizadores LR, requiren un paso especial de análise léxica que divide a entrada segundo espazos en branco, puntuación, etc. Isto é necesario porque estes analizadores usan a preparación para procesar algunhas gramáticas KS en tempo lineal. As gramáticas RV non requiren un paso de análise léxico separado, e as regras para iso pódense establecer xunto con outras regras gramaticais.

Novos operadores e funcións

Engadíronse dous novos operadores á clase dict incorporada, | para combinar dicionarios e |= para actualizar.

Engadíronse dúas novas funcións á clase str: str.removeprefix(prefixo) e str.removesuffix(sufixo).

Suxestión de tipo para tipos de colección incorporados

Esta versión inclúe soporte para a sintaxe do xerador en todas as coleccións estándar dispoñibles actualmente.

def read_blog_tags(etiquetas: lista[str]) -> Ningún:
para etiquetas en etiquetas:
print("Nome da etiqueta", etiqueta)

Outros cambios

  • PEP 573 Acceso ao estado do módulo mediante métodos de extensión C

  • PEP 593 Funcións flexibles e anotacións variables

  • PEP 602 Python pasa a versións anuais estables

  • PEP 614 Restricións gramaticais relaxantes nos decoradores

  • Soporte de base de datos de fusos horarios PEP 615 IANA na biblioteca estándar

  • BPO 38379 A recollida de lixo non bloquea os obxectos recuperados

  • BPO 38692 os.pidfd_open, para o control de procesos sen carreiras e sinais;

  • BPO 39926 Compatibilidade con Unicode actualizada á versión 13.0.0

  • BPO 1635741, Python xa non se filtra ao inicializar Python varias veces no mesmo proceso

  • Coleccións de Python (rango, tupla, conxunto, conxunto conxelado, lista, dict) aceleradas coa chamada vectorial PEP 590

  • Algúns módulos de Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) agora usan a inicialización polifásica como se define en PEP 489

  • Varios módulos de biblioteca estándar (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) agora usan o ABI estable definido por PEP 384.

Fonte: linux.org.ru

Engadir un comentario