Объекты MemoryView¶MemoryView objects
Объект memoryview предоставляет буферный интерфейс уровня C как объект Python, который затем можно передавать как любой другой объект.
-
PyObject *
PyMemoryView_FromObject(PyObject *obj)¶ - Возвращаемое значение: новая ссылка.
Создаёт объект memoryview из объекта, предоставляющего буферный интерфейс. Если obj поддерживает экспорт буфера с возможностью записи, объект memoryview будет доступен для чтения и записи; в противном случае он может быть только для чтения или для чтения и записи на усмотрение экспортёра.
-
PyObject *
PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶ - Возвращаемое значение: новая ссылка.
Создаёт объект 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)¶ - Возвращаемое значение: новая ссылка.
Создаёт объект 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; этот макрос не проверяет его тип, вы должны сделать это самостоятельно, иначе рискуете получить аварийное завершение.
-
Py_buffer *
PyMemoryView_GET_BASE(PyObject *mview)¶ Возвращает либо указатель на экспортирующий объект, на котором основан memoryview, либо
NULL, если memoryview был создан одной из функцийPyMemoryView_FromMemory()илиPyMemoryView_FromBuffer(). mview должен быть экземпляром memoryview.