Python Glossary English

все 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Сообщить о неточности