Search
Close this search box.
Conheça as novidades do Python 3.13
Python 3.13

Posts Relacionados:

O novo Python 3.13 é o lançamento do mês. Conheça algumas das novidades já anunciadas e se prepare para aproveitar as várias melhorias.

Receba nossa newsletter

Python 3.13

python logo

Python 3.13 ainda não foi oficialmente lançado. Algumas versões de preview já estão circulando há algum tempo. A previsão de lançamento é para 7 de outubro. Porém, a versão prerelease esta liberada aqui. Além disso, as novidades programadas já estão sendo divulgadas e serão o tema deste post.

O Python 3.13 será a próxima versão estável da linguagem de programação Python. Esta versão mudará significativamente a linguagem, sua implementação e a biblioteca padrão. As atualizações mais notáveis incluem um novo interpretador interativo, suporte experimental para execução em um modo de thread livre e a introdução de um compilador Just-In-Time.

Compilador Just-In-Time

No Python 3.11, foi introduzido o Interpretador Adaptativo Especializado (Specializing Adaptive Interpreter). Ele permite ao interpretador identificar operações que envolvem consistentemente os mesmos tipos. Em seguida, ele “especializa” essas operações. Isso significa que o bytecode genérico usado para elas é substituído por bytecode especificamente adaptados. A alteração resulta em melhorias de desempenho de 10% a 25% para essas partes do código.

O Python 3.12 trouxe novos aprimoramentos para o interpretador, introduzindo mais especializações e refinamentos.

Dando sequência à série, o Python 3.13 agora inclui novos componentes no compilador Just-In-Time (JIT). Eles conseguem gerar códigos de máquina real em tempo de execução, em vez de apenas bytecodes especializados. Embora a aceleração desse novo recurso seja atualmente em torno de 5%, ela prepara o terreno para futuras otimizações.

No momento, o JIT continua no estágio experimental. Ele não é ativado por padrão. Ele só pode ser ativado compilando o CPython a partir do código-fonte com sinalizadores específicos. Se o compilador JIT comprovar que fornece um aumento substancial de desempenho de 5% ou mais ao longo do tempo, poderá se tornar uma opção de compilação totalmente suportada.

Compilação 'free-threaded'

O termo usado para descrever possíveis versões futuras do CPython que não possuem o Global Interpreter Lock (GIL) é CPython de thread livre. Esta versão específica do CPython permite que os threads sejam executados simultaneamente sem a necessidade de mediação do GIL. Como resultado, as tarefas vinculadas à CPU, que anteriormente só se beneficiavam da execução em vários processos, agora podem ser executadas em vários threads.

É importante observar que o CPython de thread livre continua em fase experimental. Ele não é habilitado por padrão. Portanto, ele requer a habilitação em tempo de compilação.

Se as compilações de thread livre demonstrarem que aprimoram o desempenho multithread sem afetar o desempenho de thread único, elas poderão ser atualizadas para uma opção com suporte total. Eventualmente, a compilação de thread livre do CPython pode até se tornar a opção padrão.

Interpretador interativo mais poderoso

O Python 3.13 usa um novo shell interativo por padrão. Os seguintes novos recursos agora são suportados:

  • Edição multilinha com preservação do histórico.

  • Suporte direto para comandos específicos do REPL, como help, exit e quit, sem a necessidade de chamá-los como funções.

  • Prompts e tracebacks com cores ativadas por padrão.

  • Ajuda interativa para navegar usando F1 com um histórico de comandos separado.

  • Navegação no histórico usando F2 que pula a saída.

  • “Modo de colagem” com F3 que facilita a colagem de blocos maiores de código.

Melhores mensagens de erro

Seguindo o padrão já observado em versões anteriores, a nova versão do Python 3.13 terá mensagens de erros melhores. Entre as melhorias estão tracebacks sendo destacados em cores por padrão.

O interpretador agora usa cores por padrão ao exibir tracebacks no terminal. Esse recurso pode ser controlado por meio da nova variável de ambiente PYTHON_COLORS, bem como das variáveis de ambiente canônicas NO_COLOR e FORCE_COLOR.

Além disso, o comportamento do builtin locals() terá semântica definida para modificar o mapeamento retornado.

Remoção de módulos obsoletos

As atualizações do Python 3.13 também envolvem a remoção de APIs e módulos obsoletos. Notavelmente, vários módulos de biblioteca padrão foram removidos após serem descontinuados no Python 3.11. Para obter detalhes abrangentes, é recomendável consultar a documentação, incluindo a Referência da Biblioteca e a Referência de Idioma.

Para conhecer as novidades do Python 3.13 na prática, você pode baixar a versão de prerelease ou esperar até segunda para a grande estreia se tudo correr como planejado.

Imagem com IA Generativa – Dia 199

IA generativa img 199

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial