Как конкатенировать строку и целое число в Python
Введение
Python поддерживает конкатенацию строк с помощью оператора +
. В большинстве других языков программирования, если мы объединяем строку с целым числом (или любым другим примитивным типом данных), язык заботится о преобразовании их в строку, а затем объединяет ее.
Однако в Python, если вы попытаетесь соединить строку с целым числом с помощью оператора +
, вы получите ошибку времени выполнения.
Пример
Давайте рассмотрим пример объединения строки (str
) и целого числа (int
) с помощью оператора +
.
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. И знакомство с программированием на Python. VS Code для Python.
Это руководство было протестировано с Python 3.9.6.
Использование функции str()
Мы можем передать int
в функцию str()
, она будет преобразована в str
:
print(current_year_message + str(current_year))
Целое число current_year
возвращается в виде строки: Year is 2018
.
Использование оператора интерполяции %
Мы можем передавать значения в спецификацию преобразования с форматированием строк в стиле printf:
print("%s%s" % (current_year_message, current_year))
Целое число current_year
интерполируется в строку: Year is 2018
.
Использование функции str.format()
Мы также можем использовать функцию str.format()
для конкатенации строки и целого числа.
print("{}{}".format(current_year_message, current_year))
Целое число current_year
приводится к строковому типу: Year is 2018
.
Использование f-строк
Если вы используете Python 3.6 или более позднюю версию, вы также можете использовать f-строки.
print(f'{current_year_message}{current_year}')
Целое число current_year
интерполируется в строку: Year is 2018
.
Заключение
Вы можете ознакомиться с полным скриптом Python и другими примерами Python в нашем репозитории GitHub.