Python 3.7

Novas Funcionalidades:

Funcionalidade

Estado

PEP 538

Conversão do locale C legado para um locale baseado em UTF-8

PEP 539

Uma Nova C-API para Armazenamento Local de Thread no CPython

PEP 540

Modo UTF-8

PEP 552

pyc determinístico

PEP 553

breakpoint() incorporado

PEP 557

Classes de Dados

PEP 560

Suporte principal para o módulo typing e tipos genéricos

PEP 562

__getattr__ e __dir__ de módulo

Parcial

PEP 563

Avaliação Adiada de Anotações

PEP 564

Funções de tempo com resolução de nanossegundos

Parcial [1]

PEP 565

Mostrar DeprecationWarning em __main__

PEP 567

Variáveis de Contexto

Outras Alterações de Linguagem:

async e await são agora palavras-chave reservadas

Completo

Os objetos dict devem preservar a ordem de inserção

Podem agora ser passados mais de 255 argumentos a uma função; uma função pode agora ter mais de 255 parâmetros

bytes.fromhex() e bytearray.fromhex() ignoram agora todo o espaço em branco ASCII, não apenas espaços

str, bytes e bytearray ganharam suporte para o novo método isascii(), que pode ser usado para testar se uma string ou bytes contêm apenas carateres ASCII

ImportError apresenta agora o nome do módulo e o caminho __file__ do módulo quando from ... import ... falha

As importações circulares envolvendo importações absolutas com ligação de um submódulo a um nome são agora suportadas

object.__format__(x, '') é agora equivalente a str(x) em vez de format(str(self), '')

Para melhor suporte à criação dinâmica de rastreios de pilha, types.TracebackType pode agora ser instanciado a partir de código Python, e o atributo tb_next nos rastreios é agora gravável

Ao utilizar o comutador -m, sys.path[0] é agora expandido imediatamente para o caminho completo do diretório de início, em vez de ser deixado como o diretório vazio (o que permitia importações do diretório de trabalho atual no momento em que ocorre uma importação)

A nova opção -X importtime ou a variável de ambiente PYTHONPROFILEIMPORTTIME pode ser usada para mostrar o tempo de cada importação de módulo

Alterações nos módulos incorporados:

asyncio

Demasiadas para listar

gc

As novas funcionalidades incluem gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

math.remainder() adicionado para implementar o resto no estilo IEEE 754

re

Várias melhorias, incluindo melhor suporte para divisão em strings vazias e suporte de cópia para expressões compiladas e objetos match

sys

sys.breakpointhook() adicionado. sys.get(/set)_coroutine_origin_tracking_depth() adicionado

time

Principalmente atualizações para suporte a resolução de nanossegundos na PEP564, ver acima

Notas