跳至主要内容

Python 字符串拼接教程

学习在 Python 中拼接字符串的多种方法,并通过示例演示每种技术。
· 5分钟 阅读

使用 AI 探索

拼接是指获得一个包含两个原始字符串的新字符串。在 Python 中,有几种方式可以拼接或组合字符串。新创建的字符串被称为字符串对象。

Python 字符串拼接示例

下面来看在 Python 中拼接字符串的 5 种不同方法的示例。

1. 使用 + 运算符

要将两个字符串合并为一个对象,您可以使用 + 运算符。此方法简单直观,使用广泛。

在下面的示例中,两个原始字符串 my_string1 和 my_string2 被拼接。要将它们拼接,您使用加号将两个字符串“相加”,并显式添加空格,得到如下输出。

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = my_string1 + " " + my_string2
print(combined_string)

# Expected output: Awesome day for bikini

2. 使用 join() 方法

join() 方法是拼接字符串的另一种方式,尤其适用于您有一个待拼接的字符串列表时。

my_strings = ["Awesome day", "for bikini"]
combined_string = " ".join(my_strings)
print(combined_string)

# Expected output: Awesome day for bikini

3. 使用 f-Strings(格式化字符串字面量)

Python 3.6 引入了 f-string,这是一种更易读且高效的方式来拼接字符串并在字符串中包含变量。

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = f"{my_string1} {my_string2}"
print(combined_string)

# Expected output: Awesome day for bikini

4. 使用 % 运算符

% 运算符可用于格式化字符串,也是另一种拼接方法,不过在引入 f-string 之后使用频率较低。

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "%s %s" % (my_string1, my_string2)
print(combined_string)

# Expected output: Awesome day for bikini

5. 使用 format() 方法

format() 方法功能多样,可用于字符串拼接以及更复杂的字符串格式化。

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "{} {}".format(my_string1, my_string2)
print(combined_string)

# Expected output: Awesome day for bikini

结论

在 Python 中,有多种方式可以拼接字符串,各有优势。+ 运算符简单直接,join() 适合列表,f-string 兼具可读性与性能,% 提供了经典做法,而 format() 则更为灵活。请选择最符合您需求且与 Python 版本兼容的方法。

如需进一步了解 Python 字符串处理,请观看我们课程中的此视频:Regular Expressions in Python。

或者查看以下教程:

FAQs

如何使用自定义分隔符拼接字符串列表?

您可以使用带有自定义分隔符的 join() 方法。

my_strings = ["Awesome day", "for bikini"]
separator = " - "
combined_string = separator.join(my_strings)
print(combined_string)  # Output: Awesome day - for bikini
能否直接将字符串与整数或浮点数等其他数据类型拼接?

不可以,您需要先使用 str() 函数将其他数据类型转换为字符串。

my_string = "The price is"
price = 50
combined_string = my_string + " " + str(price) + "$"
print(combined_string)  # Output: The price is 50$
如何拼接存储在列表或元组中的多个字符串?

使用 join() 方法可进行高效拼接。

my_list = ["Awesome day", "for bikini", "at the beach"]
combined_string = " ".join(my_list)
print(combined_string)  # Output: Awesome day for bikini at the beach
如何根据特定条件拼接字符串?

在拼接前使用 if 语句检查条件。

condition = True
my_string1 = "Awesome day"
my_string2 = "for bikini"
if condition:
    combined_string = my_string1 + " " + my_string2
else:
    combined_string = my_string1
print(combined_string)  # Output: Awesome day for bikini
使用 + 运算符、join()、f-string、% 运算符和 format() 进行字符串拼接的性能有差异吗?

是的,存在性能差异。一般来说,对于列表字符串的拼接,尤其是在循环中,join() 通常最快,因为它可最小化中间字符串的创建。f-string 和 format() 也高效且具有良好的可读性,而 + 运算符和 % 运算符在循环中进行多次拼接时效率较低。

# 在循环中使用 join() 进行高效拼接的示例
strings = ["Awesome", "day", "for", "bikini"]
combined_string = " ".join(strings)
print(combined_string)  # Output: Awesome day for bikini

主题