Как объединить строку и целое число в Python

Введение

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

Однако в Python, если вы попытаетесь конкатенировать строку с целым числом с использованием оператора +, вы получите ошибку выполнения.

Пример

Давайте рассмотрим пример конкатенации строки (str) и целого числа (int) с использованием оператора +.

string_concat_int.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

Желаемый вывод – строка: Year is 2018. Однако, при выполнении этого кода мы получим следующую ошибку выполнения:

Traceback (most recent call last):
  File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
    print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str

Как же конкатенировать str и int в Python? Существует несколько других способов выполнения этой операции.

Предварительные требования

Для выполнения этого учебника вам понадобятся:

Этот учебник был протестирован с Python 3.9.6.

Использование функции str()

Мы можем передать int функции str(), и он будет преобразован в str:

print(current_year_message + str(current_year))

Текущий год возвращается как строка: Год - 2018.

Использование оператора интерполяции %

Мы можем передавать значения в спецификацию преобразования с помощью форматирования строк в стиле printf:

print("%s%s" % (current_year_message, current_year))

Текущий год интерполируется в строку: Год - 2018.

Используя функцию str.format()

Мы также можем использовать функцию str.format() для конкатенации строки и целого числа.

print("{}{}".format(current_year_message, current_year))

Целое число current_year приводится к типу строки: Год 2018.

Используя f-строки

Если вы используете Python 3.6 или более поздние версии, вы также можете использовать f-строки.

print(f'{current_year_message}{current_year}')

Целое число current_year интерполируется в строку: Год 2018.

Вывод

Вы можете ознакомиться с полным сценарием на языке Python и другими примерами на Python в нашем репозитории GitHub.

Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int