Spec-Zone.ru › Python 3.13

Объекты 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API