Иногда в программировании встречаются непонятные слова, которые с ходу сбивают с толку начинающего программиста. Одним из таких слов является «конкатенация». Каждый программист рано или поздно встретится с этим термином, например «конкатенация строк». Бояться не надо. Под страшным словом «конкатенация» скрывается довольно простая операция в программировании — объединение или сложение.
Сегодня в статье мы рассмотрим, как происходит конкатенация строк в Python. Оказывается, даже простая операция сложения строк в Python может произойти несколькими способами. В других языках программирования также присутствует конкатенация, однако способы и правила осуществления могут несколько отличаться от способов на Питоне.
Конкатенация строк в Python
Итак, что такое конкатенация? Конкатенация — это объединение или сложение. В статье мы будем использовать как термин конкатенация, так и его синонимы.
В Python конкатенация строк осуществляется пятью способами:
самый простой способ — это использовать оператор сложения «+»;
способ с использованием метода «join()»;
способ с использованием оператора «%»;
способ с использованием функции «format()»;
способ с использованием специальных «f-строк».
Теперь рассмотрим как проходит конкатенация каждым отдельным способом.
Конкатенация с использованием оператора сложения «+»
Это самый распространенный способ сложения строк. В программировании он используется чаще других. Вот как выглядит простейший пример в коде:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
myString4 = myString1 + myString2 + myString3
print(myString4)
Результатом будет: ДормидонтПлатоновичБухтияров
Если взглянуть на результат, тогда видно, что такой способ не расставляет пробелы между объединенными строками. Поэтому приходится идти на маленькую хитрость и добавлять между строками "пробел" самостоятельно. В нашем примере код будет следующим:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
myString4 = myString1 + " " + myString2 + " " + myString3
print(myString4)
Результатом будет: Дормидонт Платонович Бухтияров
В результате у нас между словами появился пробел. "Пробел" входит в категорию невидимых символов, поэтому чтобы он отразился при сложении, его нужно обозначить, что мы и сделали.
Конкатенация таким способом позволяет объединять строки, которые получаются в результате ввода. Вот как это выглядит в коде:
myString1 = input("Введите ваше имя:\n") //Дормидонт
myString2 = input("Введите ваше отчество:\n") //Платонович
myString3 = input("Введите вашу фамилию:\n") //Бухтияров
myString4 = myString1 + " " + myString2 + " " + myString3
print(myString4)
Результатом будет: Дормидонт Платонович Бухтияров
Важный момент, такой тип сложения получится только в том случае, если аргументы сложения будут строками.
Конкатенация строк Python при помощи функции "join()"
Функция "join()" является специальным инструментом для склеивания строк. Она используется не только для строк, но и еще для словарей и списков Python. Она, как и в первом случае, склеивает строки без пробелов. Для того, чтобы пробел между строками появился, его там нужно обозначить.
Вот как это выглядит в коде:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
print(.join([myString1, myString2, myString3])) //без пробела
print( " ".join([myString1, myString2, myString3])) //с пробелом
Результатом будет: ДормидонтПлатоновичБухтияров
Дормидонт Платонович Бухтияров
При помощи функции "join()" также можно объединить строки, получаемые на вводе. Код будет следующий:
myString1 = input("Введите ваше имя:\n") //Дормидонт
myString2 = input("Введите ваше отчество:\n") //Платонович
myString3 = input("Введите вашу фамилию:\n") //Бухтияров
print( " ".join([myString1, myString2, myString3])) //с пробелом
Результат будет: Дормидонт Платонович Бухтияров
Конкатенация строк с применением оператора "%"
Оператор "%" чаще всего используется для форматирования строк, однако его также можно использовать и для их объединения. Код будет выглядеть таким образом:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
result = "%s %s %s" % (myString1, myString2, myString)
print(result)
Результатом будет: Дормидонт Платонович Бухтияров
Плюс такого способа — он сразу расставляет проблем между строками. "%s" — это флаг строки, где "s" — это "string".
Конкатенация с помощью функции "format()"
Объединить строки в Питоне можно с помощью функции "format()". Вот как это выглядит в коде:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
myString4 = "{} {} {}".format(myString1, myString2, myString3)
print(myString4)
Результат будет: Дормидонт Платонович Бухтияров
Конкатенация с помощью специальных f-строк
В Python 3.6 и выше появилась возможность использовать специальный формат f-строк. Конкатенация с помощью f-строк удобна тем, что позволяет объединять не только строки, но и другие типы данных.
Вот как это выглядит в коде:
myString1 = "Дормидонт"
myString2 = "Платонович"
myString3 = "Бухтияров"
age = 101
status = "веб-разработчиу"
print (f"Имя: {myString1} {myString2} {myString3}.Возраст: {age} год. Должность: начинающий {status}")
Результат: Имя: Дормидонт Платонович Бухтияров. Возраст: 101 год. Должность: начинающий веб-разработчик.
Заключение
Что такое конкатенация? Конкатенация — это объединение, поэтому не нужно бояться этого незнакомого слова в программировании. Чаще всего этот термин используется в выражении «конкатенация строк». Сегодня мы показали, как проходит конкатенация строк в Python. Выбирайте любой подходящий способ и используйте его в собственных целях.
Python