Python 3.7从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

4.1 字符串的常用操作

前面章节中已经讲述了创建字符串的方法,本节开始学习字符串的常用操作。

4.1.1 访问字符串中的值

Python访问子字符串变量,可以使用方括号来截取字符串。

与列表的索引一样,字符串索引从0开始。例如:

     >>>a="Believe in yourself"
     >>>a[0]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[1]

运行结果如图4-1所示。

图4-1 运行结果

字符串的索引值可以为负值。若索引值为负数,则表示由字符串的结尾向前数。字符串的最后一个字符其索引值是-1,字符串的倒数第二个字符其索引值是-2。例如:

     >>>a="Believe in yourself"
     >>>a[-1]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[-2]

运行结果如图4-2所示。

图4-2 运行结果

4.1.2 分割指定范围的字符

4.1.1小节讲述了访问任何一个位置的元素值的方法,本小节讲述如何分割指定范围的字符。

使用冒号(:)来分割指定范围的字符。使用方法如下:

     a[x:y]

这里表示分割字符串a,中括号([])内的第1个数字x是要分割字符串的开始索引值,第2个数字y则是要分割字符串的结尾索引值。

提示 这里获取的字符只包含第1个数字x为索引值的字符,不包含第2个数字y为索引值的字符。

例如:

     >>>a="Believe in yourself"
     >>>a[0:6]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[1:4]

运行结果如图4-3所示。

图4-3 运行结果

如果省略开始索引值,分割字符串就由第一个字符到结尾索引值。例如:

     >>>a="Believe in yourself"
     >>>a[:10]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[:10]

运行结果如图4-4所示。

图4-4 运行结果

如果省略结尾索引值,分割字符串就由开始索引对应的字符到最后一个字符。例如:

     >>>a="Believe in yourself"
     >>>a[0:]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[1:]

运行结果如图4-5所示。

图4-5 运行结果

省略开始索引值与结尾索引值时,分割字符串由第一个字符到最后一个字符。例如:

     >>>a="Believe in yourself"
     >>>a[:]
     >>>b="迟日江山丽,春风花草香。"
     >>>b[:]

运行结果如图4-6所示。

图4-6 运行结果

注意 Python不支持单字符类型,单字符在Python中也是作为一个字符串使用的。

4.1.3 更新字符串

默认情况下,字符串被设置后就不可以直接修改。一旦直接修改字符串中的字符,就会弹出错误信息:

     >>>a="Believe in yourself"
     >>>a[1] = "w"

运行结果如图4-7所示。

图4-7 运行结果

如果一定要修改字符串,可以使用访问字符串值的方法进行更新操作。例如:

     >>>a="迟日江山丽,春春花草香。"
     >>>a=a[:7] + "风" + a[8:]
     >>>a

运行结果如图4-8所示。这里将字符串“迟日江山丽,春春花草香。”更改为“迟日江山丽,春风花草香。”

图4-8 运行结果

4.1.4 使用转义字符

有时候需要在字符串内设置单引号、双引号、换行符等,可使用转义字符。Python的转义字符是由一个反斜杠(\)与一个字符组成的,如表4-1所示。

表4-1 Python的转义字符

下面挑选几个常用的转义字符进行讲解。

1. 换行字符(\n)

下面的示例是在字符串内使用换行字符(\n):

     >>>a="泥融飞燕子\n沙暖睡鸳鸯"
     >>>print(a)

运行结果如图4-9所示。

图4-9 运行结果

2. 双引号(\")

下面的示例是在字符串内使用双引号("):

     >>>a="对别人的意见要表示尊重。千万别说:\"你错了。\""
     >>>print (a)

运行结果如图4-10所示。

图4-10 运行结果

3. 各进制的ASCII码

下面的示例是显示十六进制数值是48的ASCII码:

     >>>a="\x48"
     >>>a

运行结果如图4-11所示。

图4-11 运行结果

下面的示例是显示八进制数值是103的ASCII码:

     >>>a= "\103"
     >>>a

运行结果如图4-12所示。

图4-12 运行结果

4. 加入反斜杠字符

如果需要在字符串内加上反斜杠字符,就必须在字符串的引号前面加上"r"或"R"字符。下面的示例是字符串包含反斜杠字符。

     >>>print (r"\d")
     >>>print (R"\e,\f,\e")

运行结果如图4-13所示。

图4-13 运行结果