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