Python · Avançado · Inglês · Técnico
memoryview
Objeto que expõe o buffer de memória de bytes, bytearray ou array sem copiar os dados. Fatias de um memoryview também são visões, não cópias.
Onde usar
Usado em parsing de protocolos binários, sockets e processamento de arquivos grandes, onde fatiar bytes criaria cópias caras. Em code review, aparece como otimização que precisa ser medida.
Em código
dados = bytearray(b'abcdef')
v = memoryview(dados)
parte = v[2:4] # sem copiar
parte[0] = ord('X')
print(dados) # bytearray(b'abXdef')Exemplos
Slice the memoryview so we don't copy the buffer.
Fatie o memoryview para não copiar o buffer.
A memoryview over bytes is read-only.
Um memoryview sobre bytes é somente leitura.
Cuidado
Enquanto existir um memoryview, o bytearray de origem não pode mudar de tamanho; e a view sobre bytes é somente leitura.
Sinônimos
visão de buffer