Документация Python неофициальный перевод

bytearray.md

90 строк · 4.7 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.13/c-api/bytearray.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты bytearray89#### `type PyByteArrayObject`1011Этот подтип [`PyObject`](https://python-all.ru/3.13/c-api/structures.html#c.PyObject) представляет объект bytearray Python.1213#### `PyTypeObject PyByteArray_Type`1415*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*1617Этот экземпляр [`PyTypeObject`](https://python-all.ru/3.13/c-api/type.html#c.PyTypeObject) представляет тип bytearray в Python; он является тем же объектом, что и [`bytearray`](https://python-all.ru/3.13/library/stdtypes.html#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*Возвращаемое значение: новая ссылка.*3435*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*3637Возвращает новый объект bytearray из любого объекта, *o*, который реализует [протокол буфера](https://python-all.ru/3.13/c-api/buffer.html#bufferobjects).3839При ошибке возвращает `NULL` с установленным исключением.4041#### `PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)`4243*Возвращаемое значение: новая ссылка.*4445*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*4647Создаёт новый объект bytearray из *string* и его длины, *len*.4849При ошибке возвращает `NULL` с установленным исключением.5051#### `PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)`5253*Возвращаемое значение: новая ссылка.*5455*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*5657Объединяет байтовые массивы *a* и *b* и возвращает новый байтовый массив с результатом.5859При ошибке возвращает `NULL` с установленным исключением.6061#### `Py_ssize_t PyByteArray_Size(PyObject *bytearray)`6263*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*6465Возвращает размер *байтового массива* после проверки указателя `NULL`.6667#### `char *PyByteArray_AsString(PyObject *bytearray)`6869*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*7071Возвращает содержимое *байтового массива* как массив char после проверки указателя `NULL`. Возвращаемый массив всегда содержит дополнительный нулевой байт в конце.7273#### `int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)`7475*Часть [Stable ABI](https://python-all.ru/3.13/c-api/stable.html#stable).*7677Изменяет размер внутреннего буфера *bytearray* до *len*.7879## Макросы8081Эти макросы жертвуют безопасностью ради скорости и не проверяют указатели.8283#### `char *PyByteArray_AS_STRING(PyObject *bytearray)`8485Аналогично [`PyByteArray_AsString()`](https://python-all.ru/3.13/c-api/bytearray.html#c.PyByteArray_AsString), но без проверки ошибок.8687#### `Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)`8889Аналогично [`PyByteArray_Size()`](https://python-all.ru/3.13/c-api/bytearray.html#c.PyByteArray_Size), но без проверки ошибок.90