Объекты 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’ или ‘Фортран’ order) из объекта, определяющего буферный интерфейс. Если память непрерывна, объект memoryview указывает на исходную память. В противном случае создаётся копия, и memoryview указывает на новый объект bytes.
- int PyMemoryView_Check(PyObject *obj)¶
Возвращает истину, если объект 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.