Особенности конкатенации строк
@pyproglibНе используйте + для создания длинных строк. В Python строка является неизменяемой, поэтому строки слева и справа от исходной будут скопированы в новую строку для каждой подобной пары конкатенации.
Например, если вы конкатенируете четыре строки каждая длинной 10, то у вас получится следующая сумма: (10+10) + ((10+10)+10) + (((10+10)+10)+10) = 90, и получается вместо 40 целых 90 символов. Объем квадратично увеличивается в зависимости от размера и количества строк.
Java оптимизировала эту задачу, трансформировав наборы конкатенаций, за счет использования StringBuilder, но Python нет. По этой причине, рекомендуется использовать .format или % для конкатенации строк, несмотря на то, что при конкатенации коротких строк + работает быстрее.
А самым лучшим вариантом, если у вас уже есть содержимое в виде итеративного объекта, будет использование «.join(iterable_object), который намного быстрее.


Вывод:
