1. Вариант ответа.
Строка приравнивается только в момент готовности (01234567), но в
"".join()
происходит её итеративное создание.
str.join(iterable)
Return a string which is the concatenation of the strings in iterable. A TypeError will be raised if there are any non-string values in iterable, including bytes objects. The separator between elements is the string providing this method.
Join итерируем, поэтому сначала произойдет создание строки справа от приравнивания, и потом ссылка на строку запишется в переменную