# Как Конкатенировать Строки в Python: Полное Руководство

В этом учебнике вы узнаете, как использовать Python для объединения строк. Умение работать со строками в Python — это важный навык в почти каждой программе, которую вы будете писать. В некоторых случаях вам захочется отобразить текст в вашей программе и обеспечить читабельность кода. В других случаях вы захотите стремиться к скорости вашей программы, и ваш метод объединения строк будет другим. Аналогично, если ваш код требует обратной совместимости, вам захочется использовать один метод вместо другого.

К концу этого учебника вы узнаете:

* Различные способы объединения строк в Python
* Как обеспечить обратную совместимость при объединении строк в Python
* Какой метод объединения строк является наиболее читабельным в Python

### Содержание

* [Методы объединения строк в Python: сравнение](#metody-obedineniya-strok-v-python-sravnenie)
* [Объединение строк в Python с использованием оператора `+`](#obedinenie-strok-v-python-s-ispolzovaniem-operatora)
* [Объединение строк в Python с использованием оператора `+=`](#obedinenie-strok-v-python-s-ispolzovaniem-operatora-1)
* [Объединение строк в Python с использованием **f-строк**](#obedinenie-strok-v-python-s-ispolzovaniem-f-strok)
* [Объединение строк в Python с использованием оператора `*`](#obedinenie-strok-v-python-s-ispolzovaniem-operatora-2)
* [Объединение строковых литералов в Python с использованием метода `join`](#obedinenie-strokovykh-literalov-v-python-s-ispolzovaniem-metoda-join)
* [Объединение строк в Python с использованием метода `format`](#obedinenie-strok-v-python-s-ispolzovaniem-metoda-format)
* [Объединение строк в Python с использованием форматирования `%`](#obedinenie-strok-v-python-s-ispolzovaniem-formatirovaniya)
* [Объединение строк в Python с использованием строковых литералов](#obedinenie-strok-v-python-s-ispolzovaniem-strokovykh-literalov)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#dopolnitelnye-resursy)

### Методы объединения строк в Python: сравнение

Таблица ниже рассматривает различные методы объединения строк в Python. Каждый из методов рассматривается более подробно в разделах ниже, а также некоторые методы, которые не вошли в список!

### Объединение строк в Python с использованием оператора `+`

Один из самых простых и распространенных методов объединения строк в Python — использование оператора `+`. Это работает так: оператор `+` объединяет две строки. В случае строк оператор `+` действует как оператор конкатенации.

Давайте посмотрим на пример:

```python
# Использование + для объединения строк в Python
print('Добро пожаловать в ' + 'bemind.gitbook.io')

# Возвращает:
# Добро пожаловать в bemind.gitbook.io
```

Этот метод также работает со строками, присвоенными переменным. Давайте посмотрим, как это выглядит:

```python
# Использование + для объединения строк в Python
first = 'Добро пожаловать в '
second = 'bemind.gitbook.io'

print(first + second)

# Возвращает:
# Добро пожаловать в bemind.gitbook.io
```

Важно отметить, что это работает только со строками. Если мы попытаемся объединить строку и целое число, например, будет выдана ошибка:

```python
# Попытка объединить строку и целое число
print('Hello!' + 3)

# Вызывает:
# TypeError: can only concatenate str (not "int") to str
```

Как показано в этом учебнике, сначала нужно преобразовать целое число в строку.

В следующем разделе вы узнаете, как использовать оператор присваивания с добавлением для легкого добавления строки к другой строке.

### Объединение строк в Python с использованием оператора `+=`

В предыдущем разделе вы узнали, как объединять строки с использованием оператора `+`. Аналогично, вы можете использовать оператор присваивания с добавлением, `+=`, для объединения строк. На самом деле, этот оператор отлично подходит для добавления одной строки к другой.

В этом случае важно отметить, что вы добавляете строку к той же переменной, а не создаете новую.

```python
# Использование += для объединения строк в Python
sentence = 'Добро пожаловать в '
second = 'bemind.gitbook.io'

sentence += second
print(sentence)

# Возвращает:
# Добро пожаловать в bemind.gitbook.io
```

Имейте в виду, что хотя кажется, что строка добавляется в конец другой, на самом деле это не так. Поскольку строки в Python неизменяемы, исходная строка фактически уничтожается, и объединенные строки создаются заново.

### Объединение строк в Python с использованием f-строк

Python f-строки, или форматированные строковые литералы, позволяют писать четкую строковую интерполяцию. Python f-строки были впервые представлены в Python 3.6, поэтому они не являются самым совместимым с предыдущими версиями кодом для объединения строк в Python.

Python f-строки начинаются с буквы `f` и позволяют помещать переменные для интерполяции в фигурные скобки. Переменные оцениваются во время выполнения, и их строковое представление помещается в строку.

Это лучше всего объяснить на примере, который мы можем рассмотреть ниже:

```python
# Использование Python f-строк для объединения строк
website = 'bemind.gitbook.io'
print(f'Добро пожаловать в {website}!')

# Возвращает:
# Добро пожаловать в bemind.gitbook.io!
```

Отличная особенность этого метода — его читабельность. Нет необходимости гадать, как будет выглядеть ваша окончательная строка.

### Объединение строк в Python с использованием оператора `*`

Еще один отличный способ объединения строк — использование оператора `*`. Как следует из названия, вы умножаете строку определенное количество раз. Это позволяет объединить строку с самой собой заданное количество раз.

Давайте посмотрим, как это выглядит:

```python
# Умножение строки
word = 'hello'

print(word * 3)

# Возвращает:
# hellohellohello
```

В приведенном выше коде мы вывели строку **'hello'** три раза.

### Объединение строковых литералов в Python с использованием метода `join`

Метод join принимает список различных строк и, как следует из названия, объединяет строки вместе. Метод сам по себе применяется к другой строке, которая используется для объединения строк. Это может звучать запутанно, но давайте посмотрим на пример, который объяснит это лучше:

```python
# Объединение строк с .join()
words = ['welcome', 'to', 'bemind.gitbook.io']

joined = ' '.join(words)
print(joined)

# Возвращает:
# welcome to bemind.gitbook.io
```

В приведенном выше примере мы применяем метод `.join()` к строке, которую хотим использовать для объединения элементов. Поэтому строка, к которой мы применяем метод, является разделителем, который мы хотим использовать.

### Объединение строк в Python с использованием метода `format`

В более старых версиях Python фигурные скобки (аналогично f-строкам) также позволяли объединять строки. Однако, в отличие от Python f-строк, этот метод не такой читабельный. Давайте посмотрим, как это работает, на примере:

```python
# Использование format для объединения строк
word1 = 'Hey'
word2 = 'there'

words = '{} {}!'.format(word1, word2)

print(words)

# Возвращает:
# Hey there!
```

Этот метод использует фигурные скобки для указания, где должны быть вставлены различные переменные. Причина, по которой этот метод не такой читабельный, заключается в том, что он использует позицию для указания, какая переменная должна быть вставлена куда.

### Объединение строк в Python с использованием форматирования `%`

Аналогично методу `format`, вы можете использовать оператор `%` в строках для объединения строк. Этот метод позволяет вставлять переменные в строки, хотя и менее читабельно.

Давайте посмотрим на пример:

```python
# Использование % для объединения строк
word1 = 'Hey'
word2 = 'there'

words = '%s %s!' % (word1, word2)

print(words)

# Возвращает:
# Hey there!
```

Лично я считаю этот метод наименее читабельным из доступных методов.

### Объединение строк в Python с использованием строковых литералов

Этот последний метод объединения строк в Python — использование строковых литералов последовательно. Размещая одну строку после другой, Python неявно объединяет эти строки.

Давайте посмотрим на пример, как это работает:

```python
# Объединение строк с помощью строковых литералов
joined = "hey " "there"

print(joined)

# Возвращает:
# hey there
```

### Заключение

В этом учебнике вы узнали, как объединять строки в Python. Вы рассмотрели 8 различных методов объединения строк, узнали, какие из них наиболее читабельны, быстры и совместимы с предыдущими версиями. Поскольку существует так много различных способов, иногда может быть трудно выбрать. Однако знание, какие методы использовать в зависимости от ситуации, может быть важным соображением!

### Дополнительные ресурсы

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

* Python: Сортировка строки (4 разных способа)
* Python: Удаление специальных символов из строки
* Python: Удаление знаков препинания из строки (3 разных способа!)
* Python `zfill & rjust`: Добавление символов в строку Python
* [Python Strings: Официальная документация](https://docs.python.org/3/library/string.html)
