Строки могут быть объединены (склеены) оператором '+'
и повторены с помощью '*'
:
# 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}") # Привет мир! # -----------