Объекты MemoryView
Объект memoryview экспонирует интерфейс буфера уровня C интерфейс буфера как объект Python, который можно передавать как любой другой объект.
-
PyObject *PyMemoryView_FromObject(PyObject *obj) -
Значение возврата: новая ссылка. Часть стабильной ABI.
Создать объект memoryview из объекта, предоставляющего интерфейс буфера. Если obj поддерживает экспорт записей для записи, объект memoryview будет читаемо-записываемым, в противном случае он может быть только для чтения или читаемо-записываемым по усмотрению экспортера.
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags) -
Значение возврата: новая ссылка. Часть стабильной ABI с версии 3.7.
Создать объект memoryview, используя mem в качестве базового буфера. flags может быть одним из значений
PyBUF_READилиPyBUF_WRITE.Новое в версии 3.3.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view) -
Значение возврата: новая ссылка. Часть стабильной ABI с версии 3.11.
Создать объект memoryview, оборачивающий заданную структуру буфера view. Для простых буферов байтов функция
PyMemoryView_FromMemory()предпочтительнее.
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order) -
Значение возврата: новая ссылка. Часть стабильной ABI.
Создать объект memoryview для непрерывного участка памяти (в порядке ‘C’ или ‘F’ или Fortran 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.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/c-api/memoryview.html