Объекты MemoryView
Объект 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» Fortran) из объекта, определяющего интерфейс буфера. Если память непрерывна, объект 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.
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/c-api/memoryview.html