Python基础要素之字符串

Python Training
python
Author
Published

Friday, January 10, 2020

字符串是Python中的另一种基本数据类型。它通常是指人类可以阅读的文本,但更广泛地说,它是一个字符序列,并且字符只有在组成这个序列时才有意义。一些对象看上去是数值,但实际上是字符串,比如邮政编码,你对邮政编码做加减乘除是没有意义的,所以最好在代码中将其作为字符串来处理。接下来介绍用于字符串管理的一些模块、函数和操作。

字符串

字符串可以包含在单引号、双引号、3个单引号或3个双引号之间:

字符串

Output #14展示了一个包含在单引号之间的简单字符串。

+、*、len()

operator

Output #18展示了使用+操作符将两个字符串相加。+操作符按照原样相加,如果你想在结果字符串中留出空格的话,就必须在原字符串中加上空格(Output #18在字母a后加了空格),Output #19中的*操作符也是这样,其将字符串重复一定的次数。Output #20展示了使用内置函数len来确定字符串中字符的数量。len函数将空格与标点符号都计入字符串长度,所以结果是23个字符。

split函数

使用split函数将一个字符串拆分成一个子字符串列表(列表中的子字符串正好可以构成原字符串)。split函数可以在括号中使用两个附加参数,第一个附加参数表示使用哪个字符进行拆分,第二个参数表示进行拆分的次数。

split

在Output #21中,括号中没有附加参数,所以split函数使用空格字符(默认值)对字符串进行拆分。因为这个字符串有5个空格,所以被拆分成具有6个子字符串的列表。Output #22中,第一个附加参数是用空格来拆分字符串,第二个附加参数是2,说明只想用前两个空格进行拆分,生成一个带有3个元素的列表。第二个参数会在我们解析数据的时候派上用场。举例来说,你可能会解析一个日志文件,文件中包含时间戳、错误代码和由空格分隔的错误信息。在这种情况下,可以使用前两个空格进行拆分,解析出时间戳和错误代码,但是不使用剩下的空格进行拆分,以便完整地保留错误信息。Output #23和Output #24中,括号中的附加参数是都好,split函数在出现逗号的位置拆分字符串。

join函数

使用join函数将列表中的子字符串组合成一个字符串。join函数将一个参数放在join前面,表示使用这个字符(或字符串)在子字符串之间进行组合。print("Output #25: {0}".format(','.join(string2_list)))这里join函数将子字符串组合成一个字符串,子字符串之间为逗号。因为列表中有6个子字符串,所以组合后有5个逗号。

strip函数

使用strip、lstrip和rstrip函数从字符串两端删除不想要的字符,这三个函数都可以在括号中使用一个附加参数来设定要从字符串两端删除的字符(或字符串)。

strip

可以看到,string3的左侧有几个空格,右侧包含制表符(、几个空格和换行符()。在Output #26中,你会看到句子前面有空白,句子下面有一个空行,句子后面有你看不到的制表符和空格。{0:s}中的s表示传入的值应该格式化为一个字符串。下面展示了从字符串两端删除其他字符的方法,将要删除的字符作为strip函数的附加参数即可:通过将美元符号、下划线、短划线和加号作为附加参数,通知程序从字符串两端删除它们。

replace函数

使用replace函数将字符串中的一个或一组字符替换为另一个或另一组字符。replace函数在括号中使用两个附加参数,第一个参数作用是在字符串中查找要替换的字符或一组字符,第二个参数是要用来替换的一个或一组字符。

replace

Output #32展示了使用replace函数将字符串中的空格替换为!@!。Output #33展示了使用逗号替换字符串中的空格。

lower、upper、capitalize函数

lower和upper函数分别用来将字符串中的字母转换为小写和大写,capitalize函数对字符串中的第一个字母应用upper函数,对其余字母应用lower函数:

lower-upper-capitalize

Output #36对句子的首字母大写。Output #37将capitalize函数放在一个for循环中,对string8_list这个列表中的每个元素首字母大写,其余字母小写。