如何在Python中拼接字符串和整数

简介

Python支持使用+运算符进行字符串拼接。在大多数其他编程语言中,如果我们将字符串与整数(或其他原始数据类型)连接起来,语言会自动将其转换为字符串然后拼接。

然而,在Python中,如果你试图使用+运算符将字符串与整数连接起来,你将会得到一个运行时错误。

示例

让我们看一个使用+运算符连接字符串(str)和整数(int)的例子。

字符串连接整数.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

期望的输出是字符串:年份为2018。然而,当我们运行这段代码时,会出现以下运行时错误。

Traceback (most recent call last):
  File "/Users/sammy/Documents/github/scdev/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

在Python中,你如何将字符串和整数连接起来?这个操作有其他多种方法可以实现。

先决条件

为了完成这个教程,你将需要:

  • Familiarity with installing Python 3. And familiarity with coding in Python. How to Code in Python 3 series or using VS Code for Python.

这个教程是使用Python 3.9.6进行测试的。

使用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))

当前年份整数被强制转换为字符串:年份是2018。

使用f-strings

如果你正在使用Python 3.6或更高版本,你也可以使用f-字符串。

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

当前年份整数被转换为字符串:年份为2018年。

结论

你可以从我们的GitHub代码库中查看完整的Python脚本和更多的Python例子。

广告
将在 10 秒后关闭
bannerAds