все Python 3Встроенные функциипонятие
memoryview
типы
Создаёт объект представления буфера без копирования данных. Позволяет работать со срезами бинарных данных эффективно.
Синтаксис
memoryview(object)
memoryview работает только с объектами, поддерживающими буферный протокол — bytes, bytearray, array.array; на str или список будет TypeError. Писать через представление можно лишь тогда, когда исходный объект изменяемый: у memoryview(b'...') присваивание запрещено, потому что bytes только для чтения. Срез представления — снова memoryview, а не bytes (отсюда обёртка bytes(...)), и пока представление живо, bytearray нельзя менять в размере: append или расширение упадут с BufferError.
Примеры
b = bytearray(b'hello world')
mv = memoryview(b)
print(bytes(mv[6:11])) # → b'world'
mv[0] = ord('H')
print(b) # → bytearray(b'Hello world')
print(mv.format) # → B (unsigned char)
print(mv.itemsize) # → 1
print(len(mv)) # → 11
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности