Общим антипаттерном в Python является конкатенация последовательности строк с использованием + в цикле. Это плохо, потому что интерпретатор Python должен создать новый строковый объект для каждой итерации, и он заканчивается квадратичным временем. (Последние версии CPython могут, по-видимому, оптимизировать это в некоторых случаях, но другие реализации не могут, поэтому программистам не рекомендуется полагаться на это.) ''.join - правильный способ сделать это.
Однако, я слышал, что он сказал (в том числе здесь, о переполнении стека), что никогда не следует использовать + для конкатенации строк, но вместо этого всегда используйте ''.join или строку формата. Я не понимаю, почему это так, если вы только конкатенируете две строки. Если мое понимание верное, оно не должно принимать квадратичное время, и я думаю, что a + b более чистый и читаемый, чем либо ''.join((a, b)) или '%s%s' % (a, b).
Хорошо ли использовать +, чтобы объединить две строки? Или есть проблема, о которой я не знаю?
