Функция bytes() в Python

Python3 内置函数Встроенные функции Python3


bytes()Это встроенная функция в Python, используемая для создания неизменяемых последовательностей байтов.

Последовательности байтов (bytes) — это фундаментальный тип в Python для работы с бинарными данными, обычно используемый при чтении/записи файлов, передаче по сети, обработке изображений и в других сценариях. bytes неизменяем и не может быть изменён после создания.

Определение слова: bytesОзначает "byte" и является бинарным типом данных в Python.


Базовый синтаксис и параметры

Формат синтаксиса

bytes(source)
bytes(source, encoding)
bytes(source, encoding, errors)

Описание параметра

  • Источник параметра:
    • Тип: целое число, итерируемый объект, строка
    • Описание: Исходные данные, используемые для инициализации последовательности байтов.
  • Параметр encoding(необязательный):
    • Тип: строка
    • Описание: Формат кодировки строки (например, 'utf-8').
  • Параметр errors(необязательный):
    • Тип: строка
    • Описание: метод обработки ошибок при кодировании.

Описание функций

  • Возвращаемое значение: Возвращает неизменяемый объект bytes.
  • Особенности: Каждый элемент в bytes — целое число от 0 до 255.

Примеры

Пример 1: Создание bytes

Примеры

# Создать bytes указанной длины
b = bytes(5)
print(b)           # Вывод: b'\x00\x00\x00\x00\x00'

# Создание из итерируемого объекта
b = bytes([72, 101, 108, 108, 111])
print(b)           # Вывод: b'Hello'

# Создать из строки (требуется кодировка)
b = bytes(Hello, encoding='utf-8')
print(b)          # Вывод: b'\xe4\xbd\xa0\xe5\xa5\xbd'

# Использовать литерал
b = b"Hello"
print(b)          # Вывод: b'Hello'

Ожидаемый вывод:

b'\x00\x00\x00\x00\x00'
b'Hello'
b'\xe4\xbd\xa0\xe5\xa5\xbd'
b'Hello'

Пояснение к коду:

  1. bytes(5) создаёт 5 нулевых байтов.
  2. Элементы итерируемого объекта должны быть целыми числами от 0 до 255.
  3. Преобразование строки требует указания формата кодирования.

Пример 2: операции с bytes

Примеры

# Доступ к bytes
b = b"Hello"
print(b[0])       # Вывод: 72
print(b[1])       # Вывод: 101

# Срез
print(b[1:4])     # b'ell'

# Итерация
for byte in b"ABC":
    print(byte, end=" ")
print()  # Вывод: 65 66 67

# Преобразовать обратно в строку
b = b"Hello"
s = b.decode('utf-8')
print(s)  # Вывод: Hello

# bytes неизменяем
# b

Ожидаемый вывод:

72
101
b'ell'
65 66 67
Hello

bytes поддерживает индексацию, срезы, итерацию и другие операции, но его элементы нельзя изменять.


Python3 内置函数Встроенные функции Python3


Другие расширения