Сообщить об ошибке.

Объединение и повторение строк в Python

Строки могут быть объединены (склеены) оператором '+' и повторены с помощью '*':

# 3 раза "un", затем "ium"
>>> 3 * 'un' + 'ium'
# 'unununium'

Два или более строковых литерала, те, которые заключены в кавычки рядом друг с другом, автоматически объединяются.

>>> 'Py' 'thon'
# 'Python'

Эта функция особенно полезна, когда необходимо разделить длинные строки, что бы они помещались на экране в IDE:

>>> text = ('Поместите несколько строк в круглые скобки '
...         'чтобы они соединились вместе.')
>>> text
# 'Поместите несколько строк в круглые скобки, чтобы они были соединены вместе.'

Такое поведение дает возможность так же делить форматированные строки (f-строки), например:

>>> a = 'например: 2'
>>> b = 'вместе'
>>> text = (f'Поместите несколько строк ({a}) в круглые скобки '
...         f'чтобы они соединились {b}.')
>>> text 
# 'Поместите несколько строк (например: 2) в круглые скобки чтобы они соединились вместе.'

Такое деление строк работает только с литералами, но не с переменными или выражениями:

# не удастся объединить переменную и строковый литерал
>>> prefix = 'Py'
>>> prefix 'thon'
#   File "<stdin>", line 1
#     prefix 'thon'
#                 ^
# SyntaxError: invalid syntax

>>> ('un' * 3) 'ium'
#   File "<stdin>", line 1
#     ('un' * 3) 'ium'
#                    ^
# SyntaxError: invalid syntax

Если необходимо объединить переменные или переменную и литерал, используйте знак '+':

>>> prefix + 'thon'
# 'Python'

Лучший и наиболее быстрый (по времени выполнения), а так же менее ресурсозатратный (для ОС) способ объединить список строк - это конечно метод str.join(). Этот метод объединения строк рекомендуется компилятором PyPy (если вдруг захотите ускорить свой код).

# начальная строка
>>> line = 'Состав корзины покупателя:'
# список строк, которые нужно добавить
>>> lst_line = ['- картошка', '- морковь', '- лук', '- чеснок', '- свекла']
# вставляем начальную строку по индексу 0 в список
>>> lst_line.insert(0, line)
# объединяем список строк по разделителю '\n'
>>> rez = '\n'.join(lst_line)
>>> print(rez)
# Состав корзины покупателя:
# - картошка
# - морковь
# - лук
# - чеснок
# - свекла

Что бы повторить строку нужное количество раз, необходимо использовать символ умножения *:

>>> '#' * 45
# '#############################################'
>>> '-!-' * 15
# '-!--!--!--!--!--!--!--!--!--!--!--!--!--!--!-'

Такое поведение можно использовать, например для подчеркивания строк, выводимых в терминал или текстовый файл. Для этого вычислим длину слова, а затем символ '-' "умножим" на полученную длину строки:

>>> line = 'Привет мир!'
>>> n = len(line)
>>> print(f"{line}\n{'-'*n}")
# Привет мир!
# -----------