Spec-Zone.ru › Python 3.14

Объекты MemoryView

Объект memoryview предоставляет интерфейс буфера уровня C в виде объекта Python, который затем можно передавать так же, как любой другой объект.

PyTypeObject PyMemoryView_Type
Часть стабильного ABI.

Этот экземпляр PyTypeObject представляет тип memoryview в Python. На уровне Python это тот же объект, что и memoryview.

PyObject *PyMemoryView_FromObject(PyObject *obj)
Возвращаемое значение: новая ссылка. Часть стабильного ABI.

Создаёт объект memoryview из объекта, предоставляющего интерфейс буфера. Если obj поддерживает экспорт буфера для записи, объект memoryview будет доступен для чтения и записи; в противном случае он может быть доступен только для чтения или для чтения и записи — по усмотрению экспортирующего объекта.

PyBUF_READ
Часть стабильного ABI начиная с версии 3.11.

Флаг для запроса буфера только для чтения.

PyBUF_WRITE
Часть стабильного ABI начиная с версии 3.11.

Флаг для запроса буфера для записи.

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

Spec-Zone.ru

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