Spec-Zone.ru › Python 3.10

Объекты MemoryView

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

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

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

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(Py_buffer *view)
Возвращаемое значение: Новая ссылка.

Создать объект memoryview, оборачивая заданную структуру буфера view. Для простых буферов байтов функция PyMemoryView_FromMemory() предпочтительнее.

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
Возвращаемое значение: Новая ссылка. Часть Стабильной ABI.

Создать объект memoryview для смежного блока памяти (в порядке «C» или «F»ortran order) из объекта, определяющего интерфейс буфера. Если память смежная, объект memoryview указывает на исходную память. В противном случае создаётся копия, и объект memoryview указывает на новый объект bytes.

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–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/c-api/memoryview.html

Spec-Zone.ru

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