Python 3.9.0

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

Python é uma linguagem de programação de alto nível, de propósito geral, voltada para aumentar a produtividade do desenvolvedor e a legibilidade do código. As principais características incluem tipagem dinâmica, gerenciamento automático de memória, introspecção completa, mecanismo de tratamento de exceções, suporte a cálculos multithread e estruturas de dados de alto nível.

Python é uma linguagem estável e amplamente utilizada. Ela é empregada em muitos projetos e de várias maneiras: como a principal linguagem de programação ou para criar extensões e integrar aplicativos. As principais áreas de aplicação incluem desenvolvimento web, aprendizado de máquina e análise de dados, automação e administração de sistemas. Atualmente, Python ocupa o terceiro lugar no ranking TIOBE.

Principais mudanças:

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

Na nova versão, o parser atual do Python, baseado em gramáticas LL(1) (gramática livre de contexto), foi substituído por um novo analisador sintático de alto desempenho e estável, baseado em PEG (gramática linear). Analisadores para linguagens representadas por gramáticas livres de contexto, como analisadores LR, são exigidos em uma etapa especial de análise lexical, que separa os dados de entrada conforme espaços, pontuação e assim por diante. Isso é necessário, pois esses analisadores utilizam uma análise preliminar para processar algumas gramáticas livres de contexto em tempo linear. Gramáticas lineares não requerem uma etapa separada de análise lexical, e as regras podem ser incorporadas juntamente com outras regras de gramática.

Novos operadores e funções

Foram adicionados dois novos operadores à classe embutida dict: | para mesclar dicionários e |= para atualizar.

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

Sugestão de tipo para tipos de coleções embutidos

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

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

Outras alterações

  • PEP 573 Acesso ao estado do módulo através de métodos de extensão C

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

  • PEP 602 O Python passa a ter lançamentos estáveis anuais

  • PEP 614 Suavização das restrições gramaticais em decoradores

  • PEP 615 Suporte da base de dados IANA para fusos horários na biblioteca padrão

  • BPO 38379 coleta de lixo não é bloqueada em objetos restaurados

  • BPO 38692 os.pidfd_open, para gerenciamento de processos sem condições de corrida e sinais;

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

  • BPO 1635741, ao inicializar o Python várias vezes no mesmo processo, não ocorre mais vazamento de memória

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

  • Alguns módulos Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) agora utilizam inicialização multifásica, conforme definido no PEP 489

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

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster