Документация Python неофициальный перевод

Объекты MemoryViewMemoryView objects

Объект memoryview предоставляет буферный интерфейс уровня C как объект Python, который затем можно передавать как любой другой объект.

PyObject *PyMemoryView_FromObject(PyObject *obj)
Возвращаемое значение: новая ссылка. Часть Stable ABI.

Создаёт объект memoryview из объекта, предоставляющего буферный интерфейс. Если obj поддерживает экспорт буфера с возможностью записи, объект memoryview будет доступен для чтения и записи; в противном случае он может быть только для чтения или для чтения и записи на усмотрение экспортёра.

PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)
Возвращаемое значение: новая ссылка. Часть Stable ABI начиная с версии 3.7.

Создаёт объект memoryview, используя mem в качестве базового буфера. flags может быть одним из PyBUF_READ или PyBUF_WRITE.

Новое в версии 3.3.

PyObject *PyMemoryView_FromBuffer(Py_buffer *view)
Возвращаемое значение: новая ссылка.

Создаёт объект memoryview, обёртывающий заданную структуру буфера view. Для простых байтовых буферов предпочтительнее использовать функцию PyMemoryView_FromMemory().

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
Возвращаемое значение: новая ссылка. Часть Stable ABI.

Создаёт объект memoryview, указывающий на непрерывный блок памяти (в порядке ‘C’ или ‘F’ortran, order), из объекта, определяющего буферный интерфейс. Если память непрерывна, объект memoryview указывает на исходную память. В противном случае создаётся копия, и memoryview указывает на новый объект bytes.

int PyMemoryView_Check(PyObject *obj)

Возвращает true, если объект obj является объектом memoryview. В настоящее время не разрешено создавать подклассы memoryview. Эта функция всегда завершается успешно.

Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)

Возвращает указатель на приватную копию буфера экспортёра, хранящуюся в memoryview. mview должен быть экземпляром memoryview; этот макрос не проверяет его тип, вы должны сделать это самостоятельно, иначе рискуете получить аварийное завершение.

PyObject *PyMemoryView_GET_BASE(PyObject *mview)

Возвращает либо указатель на экспортирующий объект, на котором основан memoryview, либо NULL, если memoryview был создан одной из функций PyMemoryView_FromMemory() или PyMemoryView_FromBuffer(). mview должен быть экземпляром memoryview.