> **Источник:** https://python-all.ru/3.0/c-api/bytearray.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# Объекты bytearray

**\[PyByteArrayObject\]`PyByteArrayObject`**

Этот подтип

[`PyObject`](https://python-all.ru/3.0/c-api/structures.html#PyObject)

представляет объект bytearray в Python.

**\[PyByteArray\_Type\][PyTypeObject](https://python-all.ru/3.0/c-api/type.html#PyTypeObject) `PyByteArray_Type`**

Этот экземпляр

[`PyTypeObject`](https://python-all.ru/3.0/c-api/type.html#PyTypeObject)

представляет тип bytearray в Python; это тот же объект, что и

`bytearray`

на уровне Python.

**\[PyByteArray\_Check\]int `PyByteArray_Check`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**

Возвращает true, если объект

*o*

является объектом bytearray или экземпляром подтипа типа bytearray.

**\[PyByteArray\_CheckExact\]int `PyByteArray_CheckExact`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**

Возвращает true, если объект

*o*

является объектом bytearray, но не экземпляром подтипа типа bytearray.

**\[PyByteArray\_FromObject\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyByteArray_FromObject`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**

Возвращает новый объект bytearray из любого объекта

*o*

, реализующего протокол буфера.

**\[PyByteArray\_FromStringAndSize\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyByteArray_FromStringAndSize`(const char *\*string*, Py\_ssize\_t *len*)**

Создаёт новый объект bytearray из

*string*

и его длины

*len*

. В случае ошибки возвращается

*NULL*

.

**\[PyByteArray\_Size\]Py\_ssize\_t `PyByteArray_Size`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*bytearray*)**

Возвращает размер

*bytearray*

после проверки указателя на

*NULL*

.

**\[PyByteArray\_GET\_SIZE\]Py\_ssize\_t `PyByteArray_GET_SIZE`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*bytearray*)**

Макро-версия

[`PyByteArray_Size`](https://python-all.ru/3.0/c-api/bytearray.html#PyByteArray_Size)

без проверки указателей.

**\[PyByteArray\_AsString\]char\* `PyByteArray_AsString`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*bytearray*)**

Возвращает содержимое

*bytearray*

в виде массива char после проверки на нулевой указатель

*NULL*

.

**\[PyByteArray\_AS\_STRING\]char\* `PyByteArray_AS_STRING`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*bytearray*)**

Макро-версия

[`PyByteArray_AsString`](https://python-all.ru/3.0/c-api/bytearray.html#PyByteArray_AsString)

без проверки указателей.

**\[PyByteArray\_Concat\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyByteArray_Concat`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*a*, [PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*b*)**

Объединяет байтовые массивы

*a*

и

*b*

и возвращает новый байтовый массив с результатом.

**\[PyByteArray\_Resize\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyByteArray_Resize`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*bytearray*, Py\_ssize\_t *len*)**

Изменяет размер внутреннего буфера

*bytearray*

до

*len*

.
