Spec-Zone.ru › Python 3.9

Объекты 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» Фортрана order) из объекта, определяющего интерфейс буфера. Если память непрерывна, объект 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.9/c-api/memoryview.html

Spec-Zone.ru

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