Ce document est relatif à une vieille version de Python qui n'est plus soutenue. Mettez à jour votre version et lisez Bienvenue sur la documentation de la version stable actuelle de Python.

# Objets de type MemoryView

Un objet Python `memoryview` expose le protocole tampon du C. Cet objet peut ensuite être passé comme n'importe quel objet.

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

  Crée un objet memoryview à partir d'un objet implémentant le protocole tampon. Si obj permet d'exporter des tampons modifiables, l'objet memoryview crée acceptera la lecture et écriture, sinon l'objet crée est soit en lecture seule ou lecture/écriture, à la discrétion de l'exporteur.

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

  Crée un objet memoryview utilisant mem comme un tampon sous-jacent. flags peut être `PyBUF_READ` ou `PyBUF_WRITE`.

  Nouveau dans la version 3.3.

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

  Crée un objet memoryview à partir de la structure tampon view. Pour de simples tampons d'octets, `PyMemoryView_FromMemory()` est préférée.

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

  Crée un objet memoryview vers un segment de mémoire contiguous (organisé comme en `'C'` ou comme en `'F'` pour Fortran) à partir d'un objet qui expose le protocole tampon. Si la mémoire est contiguë, l'objet memoryview pointe vers la mémoire d'origine. Sinon une copie est faite et la memoryview pointe vers un nouvel objet bytes.

int `PyMemoryView_Check`(PyObject *obj)

  Renvoie vrai si l'objet obj est un objet memoryview. Il n'est pas permis de créer une sous-classe de `memoryview`.

Py_buffer *`PyMemoryView_GET_BUFFER`(PyObject *mview)

  Retourne un pointeur vers la copie privée du tampon de l'exporteur de memoryview. mview doit être une instance de memoryview; cette macro ne vérifie pas le type, vous devez le faire vous-même sinon vous pourriez subir un crash.

Py_buffer *`PyMemoryView_GET_BASE`(PyObject *mview)

  Return either a pointer to the exporting object that the memoryview is based on or `NULL` if the memoryview has been created by one of the functions `PyMemoryView_FromMemory()` or `PyMemoryView_FromBuffer()`. mview must be a memoryview instance.