# bytes()

Функция `bytes()` в Python используется для создания неизменяемого объекта типа `bytes`, представляющего собой последовательность байтов.

**Назначение**: Основная цель функции `bytes()` - создать неизменяемый объект типа `bytes`, который может использоваться при работе с бинарными данными, протоколами передачи данных, файлами и другими операциями, связанными с обработкой байтов.

**Что возвращает**: Функция `bytes()` возвращает новый объект типа `bytes`, представляющий собой неизменяемую последовательность байтов.

**Описание**: Синтаксис функции `bytes()` следующий:

```python
bytes([source[, encoding[, errors]]])
```

* `source` (необязательный) - объект, который будет использоваться для инициализации `bytes`. Может быть строкой, байтами, байтовым массивом или итерируемым объектом, содержащим целые числа в диапазоне от 0 до 255.
* `encoding` (необязательный) - строка, определяющая кодировку для строкового `source`. Используется только если `source` - строка.
* `errors` (необязательный) - строка, определяющая способ обработки ошибок кодирования. Используется только если `source` - строка.

**Примеры использования**:

1. Создание пустого объекта `bytes`
2. Создание `bytes` из строки
3. Создание `bytes` из списка чисел
4. Создание `bytes` из существующего объекта `bytes`
5. Использование `bytes` для чтения бинарных данных из файла

```python
b = bytes()
print(b)  # Выведет b''
```

{% tabs %}
{% tab title="1." %}

```python
b = bytes()
print(b)  # Выведет b''
```

{% endtab %}

{% tab title="2." %}

```python
b = bytes("Hello", "utf-8")
print(b)  # Выведет b'Hello'
```

{% endtab %}

{% tab title="3." %}

```python
b = bytes([65, 66, 67, 68, 69])
print(b)  # Выведет b'ABCDE'
```

{% endtab %}

{% tab title="4." %}

```python
original_bytes = b'ABCDE'
new_bytes = bytes(original_bytes)
print(new_bytes)  # Выведет b'ABCDE'
```

{% endtab %}

{% tab title="5." %}

```python
with open("data.bin", "rb") as file:
    data = file.read()
    print(type(data))  # Выведет <class 'bytes'>
```

{% endtab %}
{% endtabs %}

Объекты `bytes` неизменяемы, что означает, что после их создания их содержимое нельзя изменить. Если необходимо изменять последовательность байтов, следует использовать объект `bytearray`. Объекты `bytes` часто используются при работе с бинарными данными, протоколами передачи данных, файлами и другими операциями, связанными с обработкой байтов.
