Объекты 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