ExpertiDict

Python · Avançado · Inglês · Técnico

memoryview

/ˈmɛməɹi vju/substantivo

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

Veja também

Todos os termos de Python