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