Python 3.9.0

Uma nova versão estável da popular linguagem de programação Python foi lançada.

Python é uma linguagem de programação de alto nível e uso geral que visa melhorar a produtividade do desenvolvedor e a legibilidade do código. Os principais recursos são digitação dinâmica, gerenciamento automático de memória, introspecção completa, mecanismo de tratamento de exceções, suporte para computação multithread e estruturas de dados de alto nível.

Python é uma linguagem estável e difundida. É usado em muitos projetos e em diversas capacidades: como linguagem de programação primária ou para criar extensões e integrações de aplicativos. Principais áreas de aplicação: desenvolvimento web, aprendizado de máquina e análise de dados, automação e administração de sistemas. Python atualmente ocupa o terceiro lugar no ranking TIOBE.

Grandes mudanças:

Novo analisador de alto desempenho baseado em gramáticas PEG.

Na nova versão, o analisador Python atual baseado em gramáticas LL(1) (gramática KS) é substituído por um novo analisador estável e de alto desempenho baseado em PEG (gramática PB). Os analisadores de idiomas representados por gramáticas KS, como os analisadores LR, exigem uma etapa especial de análise lexical que divide a entrada de acordo com espaços em branco, pontuação e assim por diante. Isto é necessário porque esses analisadores usam a preparação para processar algumas gramáticas KS em tempo linear. As gramáticas RV não requerem uma etapa separada de análise lexical, e as regras para isso podem ser estabelecidas junto com outras regras gramaticais.

Novos operadores e funções

Dois novos operadores foram adicionados à classe dict integrada, | para mesclar dicionários e |= para atualização.

Duas novas funções foram adicionadas à classe str: str.removeprefix(prefix) e str.removesuffix(suffix).

Dicas de tipo para tipos de coleção integrados

Esta versão inclui suporte para sintaxe de gerador em todas as coleções padrão disponíveis atualmente.

def read_blog_tags(tags: lista[str]) -> Nenhum:
para tags em tags:
print("Nome da etiqueta", etiqueta)

Outras mudanças

  • PEP 573 acessando o estado do módulo usando métodos de extensão C

  • Funções flexíveis e anotações de variáveis ​​PEP 593

  • PEP 602 Python passa para versões estáveis ​​anuais

  • PEP 614 Restrições gramaticais relaxantes para decoradores

  • PEP 615 Suporte ao banco de dados de fuso horário da IANA na biblioteca padrão

  • BPO 38379 Coleta de lixo não bloqueia objetos recuperados

  • BPO 38692 os.pidfd_open, para controle de processos sem corridas e sinais;

  • Suporte Unicode BPO 39926 atualizado para a versão 13.0.0

  • BPO 1635741, Python não vaza mais ao inicializar o Python várias vezes no mesmo processo

  • Coleções Python (range, tuple, set, frozenset, list, dict) aceleradas com chamada de vetor PEP 590

  • Alguns módulos Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operador, recurso, tempo, _weakref) agora usam inicialização polifásica conforme definido em PEP 489

  • Vários módulos de biblioteca padrão (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) agora usam a ABI estável definida pelo PEP 384.

Fonte: linux.org.ru

Adicionar um comentário