Введение
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. Как писать на Python 3 или использование VS Code для 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