Python入门教程第80篇 常用字符串方法之连接字符串

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门教程第80篇 常用字符串方法之连接字符串相关的知识,希望对你有一定的参考价值。

本篇我们介绍 Python 中连接字符串的各种方法。

字符串的连接操作可以将多个字符串连接成一个新的字符串。Python 字符串是一种不可变对象,因此连接操作总是会返回一个新的字符串。

连接字符串常量

两个字符串常量的连接非常简单,直接在一个字符串后面写上另一个字符串即可。例如:

s = 'String'  ' Concatenation'
print(s)

输出结果如下:

String Concatenation

注意,这种方法不能用于字符串变量。

使用 + 操作符连接字符串

  • 操作符可以用于连接多个字符串:
s = 'String' + ' Concatenation' 
print(s)
  • 操作符也可以连接字符串变量,例如:
s1 = 'String'
s2 = s1 + ' Concatenation'
print(s2)
String Concatenation

使用 += 操作符连接字符串

与 + 操作符类似,+= 操作符也可以用于连接字符串:

s = 'String'
s += ' Concatenation'
print(s)

输出结果如下:

String Concatenation

使用 join() 方法连接字符串

字符串的 join() 方法可以用于返回由可迭代对象(元组、列表、字典、集合)所有元素组成的字符串。以下是该方法的语法:

str.join(iterable)

其中,str 是分隔元素的符号。如果 iterable 包含任何非字符串的值, join() 方法会返回一个 TypeError 错误。为此,我们需要先将非字符串的值转换为字符串,然后再调用 join() 。

join() 方法拥有很多实用场景,例如合并 CSV 文件中的数据行。以下示例使用 join() 方法连接多个字符串:

s1 = 'String'
s2 = 'Concatenation'

s3 = ''.join([s1, s2])
print(s3)

输出结果如下:

StringConcatenation

以下示例使用空格作为分隔字符串的符号:

s1 = 'String'
s2 = 'Concatenation'

s3 = ' '.join([s1, s2])
print(s3)

输出结果如下:

String Concatenation

下面一个示例使用逗号作为分隔符:

s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = ','.join([s1, s2, s3])
print(s)

输出结果如下:

Python,String,Concatenation

以下示例尝试将元组中的字符串和数字连接成一个字符串:

product = ('Laptop', 10, 699)
result = ','.join(product)
print(result)

返回的错误如下:

TypeError: sequence item 1: expected str instance, int found

为了连接元组中的元素,我们可以先将它们转换为字符串。例如:

product = ('Laptop', 10, 699)
result = ','.join(str(d) for d in product)
print(result)

输出结果如下:

Laptop,10,699

在上面的示例中,我们首先使用一个生成器表达式将元组中的元素转为字符串,然后使用 join() 方法连接这些字符串元素。

使用 % 操作符连接字符串

字符串对象拥有一个内置的 % 操作符,可以用于格式化字符串。我们也可以使用它来连接字符串。例如:

s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = '%s %s %s' % (s1, s2, s3)
print(s)

输出结果如下:

Python String Concatenation

在上面的示例中,Python 依次使用元组中的(s1、s2、s3)替换字符串常量中的 %s。

使用 format() 方法连接字符串

字符串的 format() 方法也可以用于连接多个字符串。例如:

s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = '  '.format(s1, s2, s3)
print(s)

输出结果如下:

Python String Concatenation

以上示例中,format() 方法会依次使用字符串参数替换字符串常量中的 。

使用 f-strings 连接字符串

Python 3.6 引入了格式化字符串的 f-strings,我们可以使用 f-strings 连接多个字符串。例如:

s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = f's1 s2 s3'
print(s)

输出结果如下:

Python String Concatenation

总结

  • Python 提供了多种连接字符串的方法,推荐使用 join() 方法、+ 操作符以及 f-strings 连接字符串。

以上是关于Python入门教程第80篇 常用字符串方法之连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

Python入门教程第86篇 常用字符串方法之截断字符串

Python入门教程第88篇 常用字符串方法之字符类型检查

Python入门教程第88篇 常用字符串方法之字符类型检查

Python入门教程第87篇 常用字符串方法之替换子串

Python入门教程第82篇 常用字符串方法之查找子串

Python入门教程第84篇 常用字符串方法之大小写转换