Python: Конкатенация строки и целого числа (Int)

В этом учебнике вы узнаете, как использовать Python для объединения строки и целого числа (integer). Обычно объединение строк в Python осуществляется с помощью оператора +. Однако при работе с целыми числами оператор + представляет собой сложение. Из-за этого Python выдаст ошибку, TypeError, при запуске программы.

К концу чтения этого учебника вы узнаете, как использовать Python для объединения строки и целого числа с помощью нескольких методов. Вы узнаете, как использовать функцию str(), метод .format(), спецификатор формата % и – мой личный фаворит – Python f-strings.

Содержание

Объединение строки и целого числа в Python с помощью +

Во многих языках программирования объединение строки и целого числа с помощью оператора +работает бесшовно. Язык сам обрабатывает преобразование целого числа в строку, и программа работает нормально. В Python, однако, это не так. Из-за динамической типизации Python язык не может определить, хотим ли мы преобразовать строку в целое число и сложить значения или объединить строку и целое число. Из-за этого программа столкнется с ошибкой TypeError.

Давайте посмотрим, как это выглядит, когда мы просто пытаемся объединить строку и целое число в Python с помощью оператора +:

# Попытка объединить строку и целое число в Python

word = 'bemind.gitbook.io'
integer = 2020

new_word = word + integer

# Возвращает: TypeError: can only concatenate str (not "int") to str

Ошибка TypeError конкретно сообщает нам, что строку и целое число нельзя объединить. Поэтому сначала нужно преобразовать наше целое число в строку. Мы можем сделать это с помощью функции string(), которая принимает входное значение и преобразует его в строку, если это возможно.

Давайте попробуем запустить нашу программу снова, но на этот раз сначала преобразуем целое число в строку:

Мы видим, что, преобразовав целое число в строку с помощью функции string(), мы смогли успешно объединить строку и целое число.

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

Объединение строки и целого числа в Python с помощью f-strings

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

Из-за того, что f-strings оценивают выражения в строки, мы можем использовать их для легкого объединения строк и целых чисел. Давайте посмотрим, как это выглядит:

Одно из великих преимуществ f-strings в Python – это их читаемость. Они предоставляют нам способ сразу понять, какие переменные объединяются и как они объединяются. Нам не нужно задумываться о том, почему мы преобразуем целое число в строку, мы просто знаем, что это произойдет.

В следующем разделе вы узнаете, как использовать метод .format() для объединения строки и целого числа в Python.

Объединение строки и целого числа в Python с помощью format

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

Подобно Python f-strings, нам не нужно беспокоиться о предварительном преобразовании нашего целого числа в строку для объединения. Мы можем просто передать значение или переменную, содержащую целое число.

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

Мы видим, что этот подход возвращает ожидаемый результат. Хотя этот метод работает так же хорошо, как и другие, метод строки .format() может быть немного сложным для чтения. Это связано с тем, что значения, помещенные в заполнители, не видны сразу.

В следующем разделе вы узнаете, как объединить строку и целое число в Python с помощью оператора %.

Объединение строки и целого числа в Python с помощью %

В этом последнем разделе вы узнаете, как использовать оператор % для объединения строки и целого числа в Python. Оператор % представляет собой более старый стиль интерполяции строк в Python. Мы помещаем %s в наши строки в качестве заполнителей для различных значений, аналогично включению фигурных скобок в примере выше.

Давайте посмотрим, как мы можем объединить строку и целое число в Python:

Мы видим, что это возвращает тот же ожидаемый результат. Однако этот подход является наименее читаемым из четырех рассмотренных здесь. Он включен сюда скорее для полноты, чем как предлагаемый подход.

Заключение

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

Чтобы узнать больше о функции строки string() в Python, ознакомьтесь с официальной документацией здесь.

Связанные учебники

Ознакомьтесь с некоторыми из этих связанных учебников:

  • Pandas: Преобразование значений столбцов в строки

  • Python: Удаление специальных символов из строки

  • Python rfind: Найти индекс последней подстроки в строке

  • Python Lowercase String с .lower(), .casefold() и .islower()

Последнее обновление