bytearray.md
1> **Источник:** https://python-all.ru/3.1/c-api/bytearray.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты bytearray89**`PyByteArrayObject`**1011Этот подтип1213[`PyObject`](https://python-all.ru/3.1/c-api/structures.html#PyObject)1415представляет объект bytearray в Python.1617**[PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) `PyByteArray_Type`**1819Этот экземпляр2021[`PyTypeObject`](https://python-all.ru/3.1/c-api/type.html#PyTypeObject)2223представляет тип bytearray в Python; это тот же объект, что и2425[`bytearray`](https://python-all.ru/3.1/library/functions.html#bytearray)2627в Python.2829## Макросы проверки типа3031**int `PyByteArray_Check`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**3233Возвращает true, если объект3435*o*3637является объектом bytearray или экземпляром подтипа типа bytearray.3839**int `PyByteArray_CheckExact`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**4041Возвращает true, если объект4243*o*4445является объектом bytearray, но не экземпляром подтипа типа bytearray.4647## Прямые функции API4849**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyByteArray_FromObject`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**5051Возвращает новый объект bytearray из любого объекта5253*o*5455, реализующего протокол буфера.5657**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyByteArray_FromStringAndSize`(const char *\*string*, Py\_ssize\_t *len*)**5859Создаёт новый объект bytearray из6061*string*6263и его длины6465*len*6667. В случае ошибки возвращается6869*NULL*7071.7273**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyByteArray_Concat`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*a*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*b*)**7475Объединяет байтовые массивы7677*a*7879и8081*b*8283и возвращает новый байтовый массив с результатом.8485**Py\_ssize\_t `PyByteArray_Size`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*bytearray*)**8687Возвращает размер8889*bytearray*9091после проверки указателя на9293*NULL*9495.9697**char\* `PyByteArray_AsString`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*bytearray*)**9899Возвращает содержимое100101*bytearray*102103в виде массива char после проверки на нулевой указатель104105*NULL*106107.108109**int `PyByteArray_Resize`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*bytearray*, Py\_ssize\_t *len*)**110111Изменяет размер внутреннего буфера112113*bytearray*114115до116117*len*118119.120121## Макросы122123Эти макросы жертвуют безопасностью ради скорости и не проверяют указатели.124125**char\* `PyByteArray_AS_STRING`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*bytearray*)**126127Макроверсия128129[`PyByteArray_AsString()`](https://python-all.ru/3.1/c-api/bytearray.html#PyByteArray_AsString)130131.132133**Py\_ssize\_t `PyByteArray_GET_SIZE`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*bytearray*)**134135Макроверсия136137[`PyByteArray_Size()`](https://python-all.ru/3.1/c-api/bytearray.html#PyByteArray_Size)138139.140