# Objets tableau d'octets

type PyByteArrayObject

  Ce sous-type de `PyObject` représente un objet `bytearray` Python.

PyTypeObject PyByteArray_Type
  Fait partie de l' ABI stable.

  Cette instance de `PyTypeObject` représente le type Python bytearray, c'est le même que `bytearray` côté Python.

## Macros de vérification de type

int PyByteArray_Check(PyObject *o)

  Renvoie vrai si l'objet o est un `bytearray` ou une instance d'un sous-type du type `bytearray`. Cette méthode réussit toujours.

int PyByteArray_CheckExact(PyObject *o)

  Renvoie vrai si l'objet o est un `bytearray`, mais pas une instance d'un sous-type du type `bytearray`. Cette méthode réussit toujours.

## Fonctions directes sur l'API

PyObject *PyByteArray_FromObject(PyObject *o)
  Valeur de retour : nouvelle référence. Fait partie de l' ABI stable. Thread safety: Safe for concurrent use on the same object.

  Renvoie un nouvel objet bytearray depuis n'importe quel objet, o, qui implémente le protocole buffer.

  On failure, return `NULL` with an exception set.

  Note

  If the object implements the buffer protocol, then the buffer must not be mutated while the bytearray object is being created.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
  Valeur de retour : nouvelle référence. Fait partie de l' ABI stable. Thread safety: Atomic.

  Create a new bytearray object from string and its length, len.

  On failure, return `NULL` with an exception set.

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
  Valeur de retour : nouvelle référence. Fait partie de l' ABI stable. Thread safety: Safe for concurrent use on the same object.

  Concatène les `bytearrays` a et b et renvoie un nouveau `bytearray` avec le résultat.

  On failure, return `NULL` with an exception set.

  Note

  If the object implements the buffer protocol, then the buffer must not be mutated while the bytearray object is being created.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
  Fait partie de l' ABI stable. Thread safety: Atomic.

  Renvoie la taille de bytearray après vérification de la présence d'un pointeur `NULL`.

char *PyByteArray_AsString(PyObject *bytearray)
  Fait partie de l' ABI stable. Thread safety: Safe to call from multiple threads with external synchronization only.

  Renvoie le contenu de bytearray sous forme d'un tableau de caractères, en vérifiant que ce n'est pas un pointeur `NULL`. Le tableau renvoyé a toujours un caractère null rajouté.

  Note

  It is not thread-safe to mutate the bytearray object while using the returned char array.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
  Fait partie de l' ABI stable.

  Resize the internal buffer of bytearray to len. Failure is a `-1` return with an exception set.

  Modifié dans la version 3.14: A negative len will now result in an exception being set and -1 returned.

## Macros

Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les pointeurs.

char *PyByteArray_AS_STRING(PyObject *bytearray)
  Thread safety: Safe to call from multiple threads with external synchronization only.

  Similar to `PyByteArray_AsString()`, but without error checking.

  Note

  It is not thread-safe to mutate the bytearray object while using the returned char array.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
  Thread safety: Atomic.

  Similar to `PyByteArray_Size()`, but without error checking.