Python 字符串拼接

在 Python 中,想要将多个字符串拼接成一个字符串,常用的有以下 3 种方式。

  • 使用 “+” 运算符。
  • 使用 format() 方法。
  • 使用 f-string。

使用 “+” 拼接字符串

在 Python 中,拼接字符串最简单的方式,就是使用 “+” 运算符。

示例 1: “+” 拼接 2 个字符串

s1 = 'Hello'
s2 = ' Python'

result = s1 + s2
print(result)

运行结果如下。

Hello Python

分析:

s1 和 s2 两个字符串通过 + 运算符连接在一起,生成了一个新的字符串 result。

示例 2: “+” 拼接多个字符串

part1 = 'I'
part2 = ' love'
part3 = ' Python'

result = part1 + part2 + part3
print(result)

运行结果如下。

I love Python

分析:

“+” 运算符可以连续使用,从而将多个字符串拼接起来 。

使用 format() 拼接字符串

format() 是 Python 字符串的一个方法,它用于实现字符串的格式化。所谓的 “字符串格式化”,小伙伴们可以理解成 “字符串拼接”。

示例 3:format() 插入一个变量

result = 'Jack is {age} years old'.format(age=18)
print(result)

运行结果如下。

Jack is 18 years old

示例 4:format() 插入多个变量

result = '{name} is {age} years old'.format(name='Jack', age=18)
print(result)

运行结果如下。

Jack is 18 years old

分析:

我们可以很容易地看出,format() 是和占位符 “{}” 结合使用的,把 format() 方法中对应的参数内容插入占位符中,如下图所示。这种方式非常直观,也更加灵活。

Python 字符串格式化

对于上面这个例子,如果不想使用变量,也可以像下面这样写。

result = '{0} is {1} years old'.format('Jack', 18)
print(result)

使用 f-string 拼接字符串

f-string 是 Python 3.6 新增的一种字符串拼接的方法。如果一个字符串前面加上 “f”,那么该字符串就是一个 f-string。对于 f-string 来说,我们可以使用 “{}” 来插入想要拼接的内容。

示例 5:f-string 插入一个变量

age = 18
result = f'Jack is {age} years old'
print(result)

运行结果如下。

Jack is 18 years old

分析:

f-string 可以结合 “{}” 来实现字符串拼接。比如想要往 f-string 中插入一个变量,我们可以使用 “{}” 把这个变量包裹起来。需要注意的是,只有 f-string 才可以使用这种方式,普通字符串是无法使用这种方式的。

# 正确
age = 18
result = f'Jack is {age} years old'

# 错误
age = 18
result = 'Jack is {age} years old'

注意: 使用 f-string 进行字符串拼接,不需要额外进行类型转换,也就是不需要先将数字等类型转换为字符串,然后才能进行拼接,而是直接就可以拼接。

示例 6:f-string 插入多个变量

name = 'Jack'
age = 18

result = f'{name} is {age} years old'
print(result)

运行结果如下。

Jack is 18 years old

分析:

对于 f-string 来说,根据开发需求,我们可以使用 “{}” 插入多个变量。

示例 7:f-string 插入表达式

age = 18
result = f'Jack is {age + 10} years old'
print(result)

运行结果如下。

Jack is 28 years old

分析:

对于 f-string 来说,“{}” 内部除了可以插入变量,还可以插入一个表达式。学了 f-string 之后,在后面的章节中,凡是字符串拼接,我们都使用 f-string 来实现。

注意: f-string 的 “{}” 内部不仅可以插入变量和表达式,还可以插入一个函数调用。但在实际项目开发中,大多数情况都是插入一个变量。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号