Если вы создаете такую строку, вы обычно хотите использовать форматирование строки:
>>> user = 'username'
>>> host = 'host'
>>> '%s@%s' % (user, host)
'username@host'
В Python 2.6 добавлена еще одна форма, которая не зависит от перегрузки операторов и имеет некоторые дополнительные функции:
>>> '{0}@{1}'.format(user, host)
'username@host'
Как правило, большинство людей будут использовать +
в строках, только если они добавляют две строки прямо там. Для большего количества частей или более сложных строк они либо используют форматирование строк, как описано выше, либо собирают элементы в списке и объединяют их (особенно, если есть какая-либо форма зацикливания). Причина использования str.join()
заключается в том, что добавление строк вместе означает создание новой строки (и, возможно, уничтожение старых) для каждого добавления . Иногда Python может оптимизировать это, но str.join()
быстро становится понятнее, очевиднее и значительно быстрее.