Python 3.7

Novos Recursos:

Recurso

Status

PEP 538

Coerçã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() embutido

PEP 557

Data Classes

PEP 560

Suporte central 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

Exibir DeprecationWarning em __main__

PEP 567

Variáveis de Contexto

Outras Mudanças na Linguagem:

async e await agora são palavras-chave reservadas

Completo

Objetos dict devem preservar a ordem de inserção

Agora é possível passar mais de 255 argumentos para uma função; uma função agora pode ter mais de 255 parâmetros

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

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

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

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

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

Para melhor suportar a criação dinâmica de stack traces, types.TracebackType agora pode ser instanciado a partir de código Python, e o atributo tb_next dos tracebacks agora é gravável

Ao usar a opção -m, sys.path[0] agora é expandido imediatamente para o caminho completo do diretório inicial, em vez de ser deixado como o diretório vazio (o que permite importações a partir do diretório de trabalho atual no momento em que uma importação ocorre)

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

Mudanças nos módulos embutidos:

asyncio

Demais para listar

gc

Os novos recursos incluem gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

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

re

Uma série de recursos de organização, incluindo melhor suporte para divisão em strings vazias e suporte a cópia para expressões compiladas e objetos de correspondência

sys

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

time

Principalmente atualizações para suportar resolução de nanossegundos na PEP564, veja acima

Notas