Смежные bytes
литералы в исходном коде автоматически объединяются :
Несколько смежных строковых или байтовых литералов (разделенных пробелами), возможно, с использованием различных соглашений о кавычках, допускается, и их значение совпадает с их объединением. Таким образом, "hello" 'world'
эквивалентно "helloworld"
.
Таким образом, исходный код вроде:
x = [b'ab ab bc' b'rd rd kh']
равен точно эквивалентно (компилируется в идентичный байт код):
x = [b'ab ab bcrd rd kh']
Чтобы разделить их, вам нужно добавить запятую (ы), как вы показали:
x = [b'ab ab bc', b'rd rd kh']
# ^ added comma
с decode
, сделанным точно так же, как вы показали. Невозможно пропустить запятую, не сделав все это строкой и не написав собственный код синтаксического анализа, что намного более болезненно, чем просто добавление запятой.