This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# Об’єкти MemoryView

Об’єкт `memoryview` розкриває інтерфейс буфера рівня C як об’єкт Python, який потім можна передавати, як будь-який інший об’єкт.

PyObject *`PyMemoryView_FromObject`(PyObject *obj)
  Return value: New reference.

  Створіть об’єкт memoryview з об’єкта, який забезпечує інтерфейс буфера. Якщо obj підтримує експорт буфера для запису, об’єкт memoryview буде читати/записувати, інакше він може бути або лише для читання, або для читання/запису на розсуд експортера.

PyObject *`PyMemoryView_FromMemory`(char *mem, Py_ssize_t size, int flags)
  Return value: New reference.

  Створіть об’єкт memoryview, використовуючи mem як базовий буфер. flags може бути одним із `PyBUF_READ` або `PyBUF_WRITE`.

  Нове в версії 3.3.

PyObject *`PyMemoryView_FromBuffer`(Py_buffer *view)
  Return value: New reference.

  Створіть об’єкт memoryview, що обгортає задану структуру буфера view. Для простих байтових буферів перевагою є функція `PyMemoryView_FromMemory()`.

PyObject *`PyMemoryView_GetContiguous`(PyObject *obj, int buffertype, char order)
  Return value: New reference.

  Створіть об’єкт memoryview для contiguous фрагмента пам’яті (у порядку «C» або «F’ortran) з об’єкта, який визначає інтерфейс буфера. Якщо пам’ять є суміжною, об’єкт 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.