Основное отличие строкового типа данных str от байтового типа данных bytes в Python заключается в их назначении. 1
Str предназначен для представления текста в формате Unicode. 3 Строки хранят символы, каждый из которых может занимать несколько байтов в зависимости от кодировки (например, UTF-8). 1
Bytes используется для работы с двоичными данными. 1 Байтовые строки содержат только байты, каждый из которых соответствует одному символу в пределах диапазона ASCII. 1
Таким образом, str применяется в случаях, когда необходима работа с текстом, а bytes — в ситуациях, когда требуется передача, приём или сохранение бинарных данных. 3