Это была просто очистка кода, в котором участвовали строковые объекты. Он также ввел некоторые изменения в сообщениях об ошибках, когда несовместимые объекты используются, чтобы сделать их немного «более информативными».
См.: Issue 26057 - Avoid nonneeded use of PyUnicode_FromObject()
, который представил это изменение, если вам интересно.
Здесь нет ничего утонченного, это все еще незаконно и все, автор изменил сообщение об ошибке на то, что он считал более понятным.
Edit: Я создал Issue 29116 - Make str
and bytes
error messages on concatenation conform with other sequences для решения этого конкретного сообщения, обеспечив при этом сообщение об ошибке для типов байтов, которые имели столь же подробный ответ, когда мы делаем глупые вещи с ними:
>>> b'' + ''
TypeError: can't concat bytes to str
Почему ты спрашиваешь? У вас есть обработчик 'except TypeError', который зависит от точной формулировки сообщения об ошибке? – dan04
Нет, мне просто интересно, связано ли это с модулем 'typing' или набором для переменных, введенных в 3.6. –