Функция bytes() в Python
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 = 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'
Пояснение к коду:
- bytes(5) создаёт 5 нулевых байтов.
- Элементы итерируемого объекта должны быть целыми числами от 0 до 255.
- Преобразование строки требует указания формата кодирования.
Пример 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
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