Python 3.10¶
O Python 3.10.0 (final) foi lançado em 4 de outubro de 2021. Os recursos da versão 3.10 estão definidos na PEP 619 e uma descrição detalhada das mudanças pode ser encontrada em O que há de novo no Python 3.10.
Novos recursos de sintaxe | Status | |
Correspondência Estrutural de Padrões: Especificação | ||
Correspondência Estrutural de Padrões: Motivação e Justificativa | ||
Correspondência Estrutural de Padrões: Tutorial | ||
Gerenciadores de contexto entre parênteses agora são oficialmente permitidos | ||
Novos recursos na biblioteca padrão | ||
Adicionar verificação opcional de comprimento ao zip | ||
Melhorias no interpretador | ||
Números de linha precisos para depuração e outras ferramentas | ||
Novos recursos de tipagem | ||
Permitir escrever tipos de união como X | Y | ||
Aliases de Tipo Explícitos | ||
Variáveis de Especificação de Parâmetros | ||
Descontinuações, remoções ou restrições importantes | ||
Exigir OpenSSL 1.1.1 ou mais recente | ||
Descontinuar o módulo distutils. | Não relevante | |
Descontinuar e preparar a remoção do membro wstr em PyUnicodeObject. | Não relevante | |
Remover as APIs do codificador Py_UNICODE | Não relevante | |
Adicionar EncodingWarning opcional | ||
Outras Mudanças na Linguagem:
O tipo | |
As views retornadas por | |
PEP 618: A função | |
Funções embutidas e de extensão que recebem argumentos inteiros não aceitam mais | |
Se | |
Expressões de atribuição agora podem ser usadas sem parênteses dentro de literais de conjunto e compreensões de conjunto, bem como em índices de sequência (mas não em fatias). | |
As funções têm um novo atributo | |
Duas novas funções embutidas – | |
Métodos estáticos ( | |
Anotações para alvos complexos (tudo além dos alvos | |
Objetos de classe e de módulo agora criam preguiçosamente dicionários de anotações vazios sob demanda. Os dicionários de anotações são armazenados no | |
Anotações que consistem em | |
O uso de variáveis não vinculadas, | |
Os hashes de valores NaN, tanto do tipo | |
Um | |
As exceções |
Mudanças nos módulos embutidos:
Adiciona o método ausente | |
O método | |
Adiciona ganchos de auditoria para | |
O módulo hashlib requer OpenSSL 1.1.1 ou mais recente. | |
O módulo hashlib tem suporte preliminar para OpenSSL 3.0.0. | |
A implementação alternativa em Python puro de | |
Adiciona suporte a | |
Adiciona uma nova função | |
Adiciona | |
Adiciona | |
Adiciona | |
A exceção | |
Adiciona a opção de criar sockets MPTCP com | |
Adiciona a opção | |
O módulo ssl requer OpenSSL 1.1.1 ou mais recente. | |
O módulo ssl tem suporte preliminar para OpenSSL 3.0.0 e uma nova opção | |
Funções descontinuadas e o uso de constantes descontinuadas agora resultam em um | |
O módulo ssl agora tem configurações padrão mais seguras. Cifras sem sigilo de encaminhamento ou com MAC SHA-1 estão desabilitadas por padrão. O nível de segurança 2 proíbe chaves RSA, DH e ECC fracas com menos de 112 bits de segurança. | |
Os protocolos descontinuados SSL 3.0, TLS 1.0 e TLS 1.1 não são mais oficialmente suportados. O Python não os bloqueia ativamente. No entanto, opções de compilação do OpenSSL, configurações de distribuição, patches de fornecedores e suítes de cifras podem impedir um handshake bem-sucedido. | |
Adiciona um parâmetro timeout à função | |
O módulo ssl usa heap-types e inicialização em múltiplas fases. | |
Um novo sinalizador de verificação | |
Adiciona o atributo | |
Adiciona | |
| |
Notas