bytearray.md
1> **Источник:** https://python-all.ru/2.7/c-api/bytearray.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты bytearray89Новое в версии 2.6.1011**`PyByteArrayObject`**1213Этот подтип [`PyObject`](https://python-all.ru/2.7/c-api/structures.html#c.PyObject) представляет объект bytearray Python.1415**[PyTypeObject](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) `PyByteArray_Type`**1617Этот экземпляр [`PyTypeObject`](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) представляет тип bytearray в Python; он является тем же объектом, что и `bytearray` в слое Python.1819## Макросы проверки типа2021#### `int PyByteArray_Check(PyObject *o)`2223Возвращает true, если объект *o* является объектом bytearray или экземпляром подтипа типа bytearray.2425#### `int PyByteArray_CheckExact(PyObject *o)`2627Возвращает true, если объект *o* является объектом bytearray, но не экземпляром подтипа типа bytearray.2829## Прямые функции API3031#### `PyObject* PyByteArray_FromObject(PyObject *o)`3233Возвращает новый объект bytearray из любого объекта *o*, реализующего протокол буфера.3435#### `PyObject* PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)`3637Создаёт новый объект bytearray из *string* и его длины *len*. В случае ошибки возвращается *NULL*.3839#### `PyObject* PyByteArray_Concat(PyObject *a, PyObject *b)`4041Объединяет байтовые массивы *a* и *b* и возвращает новый байтовый массив с результатом.4243#### `Py_ssize_t PyByteArray_Size(PyObject *bytearray)`4445Возвращает размер *bytearray* после проверки указателя на *NULL*.4647#### `char* PyByteArray_AsString(PyObject *bytearray)`4849Возвращает содержимое *bytearray* в виде массива char после проверки на нулевой указатель *NULL*.5051#### `int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)`5253Изменяет размер внутреннего буфера *bytearray* до *len*.5455## Макросы5657Эти макросы жертвуют безопасностью ради скорости и не проверяют указатели.5859#### `char* PyByteArray_AS_STRING(PyObject *bytearray)`6061Макро-версия [`PyByteArray_AsString()`](https://python-all.ru/2.7/c-api/bytearray.html#c.PyByteArray_AsString).6263#### `Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)`6465Макро-версия [`PyByteArray_Size()`](https://python-all.ru/2.7/c-api/bytearray.html#c.PyByteArray_Size).66