Conheça os recursos empolgantes do Python 3.12 que facilitarão sua vida de desenvolvedor.
O Python planeja lançar a versão 3.12 da linguagem em outubro de 2023. Esta versão traz uma série de recursos e melhorias emocionantes. Seu objetivo é melhorar sua experiência de codificação, oferecendo uma plataforma mais eficiente e poderosa, permitindo que você aprimore suas habilidades de codificação.
1. Mensagens de erro aprimoradas
O Python melhorou continuamente suas mensagens de erro em versões recentes. O A versão 3.11 introduziu mensagens de erro mais precisas indicando as posições exatas dentro das linhas.
O Python 3.12 leva esses aprimoramentos para o próximo nível, com as seguintes adições:
- Sugestões para módulos ausentes ("você esqueceu de importar o X?") agora abrangem módulos da biblioteca padrão.
- Sugestões de erro aprimoradas para erros comuns de sintaxe relacionados a importações. Por exemplo, se você tiver importar p de m em seu código, um erro perguntará se você pretendia escrever de m importar p.
- Erros de importação para um determinado módulo agora incluem sugestões do namespace do módulo importado.
- NameError as sugestões agora também incorporam auto adicionado ao nome quando gerado em uma instância de classe. Por exemplo, se o nome velocidade não está definido, a mensagem de erro irá propor auto.velocidade como uma possível correção. Isso é particularmente útil, pois omitir auto para variáveis de instância é uma fonte comum de erros em instâncias de classe.
2. Suporte para Linux Perf Profiler
A ferramenta de perfil do Linux amplamente usada, desempenho, agora pode trabalhar com programas Python 3.12. No passado, ele se concentrava apenas no rastreamento de operações de nível C no tempo de execução do Python.
Com o Python 3.12, agora você também pode ativar o perf para coletar detalhes sobre os programas Python. Você pode ativá-lo no nível do ambiente ou dentro de um programa Python usando o sys.activate_stack_trampoline função.
3. Melhorias na dica de tipo
Desde sua introdução no Python 3.5, a sintaxe de dica de tipo do Python permitiu que as ferramentas de linting detectassem uma ampla gama de erros com antecedência. Com cada versão subsequente, o sistema de tipos do Python evoluiu para abranger uma gama mais ampla de casos de uso, oferecendo recursos de digitação aprimorados.
TypedDict
O Python 3.12 apresenta o uso de TypedDicts como uma fonte para sugerir argumentos de palavras-chave em funções. Isso utiliza o Unpack variadic genérico, que a versão 3.11 introduziu.
Aqui está um exemplo ilustrando esse recurso:
aulaFilme(Digitado):
nome: str
ano: int
deffoo(**kwargs: Descompactar [Filme]) -> Nenhum: ...
Neste caso, a função foo pode receber argumentos de palavra-chave com nomes e tipos que se alinham com o conteúdo do Movie TypedDict: nome do tipo str e ano do tipo int.
Esse aprimoramento se mostra valioso ao inserir funções de digitação que aceitam argumentos somente de palavra-chave opcionais sem valores padrão.
Sintaxe do parâmetro de tipo
O Python 3.12 apresenta uma sintaxe mais concisa para especificar tipos em classes genéricas, funções ou aliases de tipo.
Considere o seguinte:
# o método antigo
de digitando importar TypeVar
_T = TipoVar("_T")
deffunção(a: _T, b: _T) -> _T:
...
# o novo método de parâmetro de tipo
deffunção[T](a: T, b: T) -> T:
...
Com a nova sintaxe, não há necessidade de importar TypeVar explicitamente. Em vez disso, você pode utilizar o função[T] sintaxe para indicar referências de tipo genérico. Também é possível definir limites de tipo, como especificar que um tipo deve ser um de um grupo de tipos. No entanto, esses tipos em si não podem ser genéricos. Um exemplo dessa sintaxe é função[T: (str, int)].
4. Coleta de lixo
No Python 3.12, o mecanismo de coleta de lixo (GC) mudou. Anteriormente, o GC rodava sempre que um objeto era alocado.
No entanto, a partir do Python 3.12, o GC opera exclusivamente dentro do disjuntor de avaliação mecanismo no loop de bytecode do Python. Em outras palavras, ele é executado entre a execução de um bytecode e o seguinte.
Além disso, o GC também é acionado quando o mecanismo de verificação do manipulador de sinal do CPython é invocado. Esse ajuste permite a coleta de lixo periódica durante chamadas de longa duração para extensões C fora do tempo de execução.
Apresentando o Python 3.12
O Python 3.12 apresenta uma variedade de recursos e melhorias interessantes, revolucionando a experiência de codificação para você. Com mensagens de erro aprimoradas, recursos de digitação aprimorados, suporte para Linux Perf Profiler e coleta de lixo otimizada, o Python 3.12 fornece as ferramentas para escrever código de alta qualidade eficientemente. Abrace o poder do Python e eleve suas habilidades de codificação a novos patamares.