Spec-Zone.ru › Python 3.14

Объекты bytearray

type PyByteArrayObject

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

PyTypeObject PyByteArray_Type
Часть стабильного ABI.

Этот экземпляр PyTypeObject представляет тип bytearray в Python; на уровне Python это тот же объект, что и bytearray.

Макросы проверки типа

int PyByteArray_Check(PyObject *o)

Возвращает истину, если объект o является объектом bytearray или экземпляром подтипа типа bytearray. Эта функция всегда завершается успешно.

int PyByteArray_CheckExact(PyObject *o)

Возвращает истину, если объект o является объектом bytearray, но не экземпляром подтипа типа bytearray. Эта функция всегда завершается успешно.

Функции прямого API

PyObject *PyByteArray_FromObject(PyObject *o)
Возвращаемое значение: новая ссылка. Часть стабильного ABI. Потокобезопасность: Безопасно для параллельного использования одного и того же объекта.

Возвращает новый объект bytearray из любого объекта o, реализующего буферный протокол.

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

Примечание

Если объект реализует буферный протокол, буфер нельзя изменять во время создания объекта bytearray.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
Возвращаемое значение: новая ссылка. Часть стабильного ABI. Потокобезопасность: Атомарно.

Создаёт новый объект bytearray из string и его длины len.

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

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
Возвращаемое значение: новая ссылка. Часть стабильного ABI. Потокобезопасность: Безопасно для параллельного использования одного и того же объекта.

Объединяет bytearray a и b и возвращает новый bytearray с результатом.

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

Примечание

Если объект реализует буферный протокол, буфер нельзя изменять во время создания объекта bytearray.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
Часть стабильного ABI. Потокобезопасность: Атомарно.

Возвращает размер bytearray, предварительно проверив, что указатель не равен NULL.

char *PyByteArray_AsString(PyObject *bytearray)
Часть стабильного ABI. Потокобезопасность: Безопасно вызывать из нескольких потоков только при внешней синхронизации.

Возвращает содержимое bytearray в виде массива char, предварительно проверив, что указатель не равен NULL. К возвращаемому массиву всегда добавляется дополнительный нулевой байт.

Примечание

Изменять объект bytearray во время использования возвращённого массива char небезопасно с точки зрения потоков.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
Часть стабильного ABI.

Изменяет размер внутреннего буфера bytearray на len. В случае ошибки возвращает -1 и устанавливает исключение.

Изменено в версии 3.14: Теперь отрицательное значение len приводит к установке исключения и возврату -1.

Макросы

Эти макросы повышают скорость за счёт безопасности и не проверяют указатели.

char *PyByteArray_AS_STRING(PyObject *bytearray)
Потокобезопасность: Безопасно вызывать из нескольких потоков только при внешней синхронизации.

Аналогична PyByteArray_AsString(), но без проверки ошибок.

Примечание

Изменять объект bytearray во время использования возвращённого массива char небезопасно с точки зрения потоков.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
Потокобезопасность: Атомарно.

Аналогичен PyByteArray_Size(), но без проверки ошибок.

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/c-api/bytearray.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API