Объекты MemoryView
Объект memoryview экспонирует интерфейс буфера уровня C интерфейс буфера в качестве объекта Python, который затем можно передавать как любой другой объект.
-
PyObject *PyMemoryView_FromObject(PyObject *obj) -
Возвращаемое значение: новая ссылка. Часть стабильной ABI.
Создаёт объект memoryview из объекта, предоставляющего интерфейс буфера. Если obj поддерживает экспорт записей буфера с возможностью записи, объект memoryview будет чтением/записью, в противном случае он может быть только чтением или чтением/записью по усмотрению экспортера.
-
PyBUF_READ -
Флаг для запроса буфера только для чтения.
-
PyBUF_WRITE -
Флаг для запроса буфера с возможностью записи.
-
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’ortran order) из объекта, определяющего интерфейс буфера. Если память непрерывна, объект memoryview указывает на исходную память. В противном случае создаётся копия, и memoryview указывает на новый объект bytes.
buffertype может быть одним из
PyBUF_READилиPyBUF_WRITE.
-
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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/c-api/memoryview.html