- 字符串是 Python中最常用的数据类型。
- 我们可以使用引号(单引号'和双引号")来创建字符串。
- 如a = 'A',b = 'ABC',c = "ABCDFEG"
访问字符串中的值
- 我们可以通过字符串的位置来访问某一个字符,这个位置我们称之为"索引"
- 访问格式为:变量[索引]
- 我们规定,第一个字符所在的索引为0,也就是从0开始
- 我们规定,最后一个字符所在的索引为-1
假设我们现在有一个字符串a = "Hello Python"
a[0]就是"H"
a[1]就是"e"
a[4]就是"o"
a[5]就是" "(这里是空格)
a[-1]就是"n"
a[-3]就是"h"
a[-6]就是"P"
a[12]就会报错,因为超过了变量a的长度
a[-13]也会报错,因为超过了变量a的长度
如下图,可以看到每个字符的索引
索引位置图示
字符串的截取
- 我们也可以使用方括号[]来截取一小段字符串,截取出来的字符串,我们可以叫它“子字符串”
- 格式为:变量[开始的下标 : 结束的下标]
- 我们规定,开始下标可以不填写,默认为字符串开始的位置,可以写成变量[ : 结束的下标]
- 我们规定,结束下标可以不填写,默认为字符串结束的位置,可以写成变量[开始的下标 : ]
我们假设a = "Hello Python"(配合截取下面的位置图,就更好理解了)
a[0:12] 和 a[ : ] 和 a[0: ] 和 a[ :12] 都是"Hello Python"
a[0:1]就是"H"
a[0:8]就是"Hello Py"
a[2:8]就是"llo Py"
a[:-1]就是"Hello Pytho"
a[-8:11]就是"o Pytho"
需要注意的是,你的开始下标最好是在结束下标的左边,这样才能截取到字符串;如果开始下标在结束下标的右边,不会报错,但你截取不到任何字符串
只有在你使用的下标超过了字符串的长度后,才会报错
如下图,我们可以看到截取时,我们截取位置所在,一定要注意的是,索引位置对应的是每个字符的上方,截取位置是字符之间的位置。(可能在某些专业人士看来,我说的不对,我这样是为了便于理解写的)
截取位置图示
字符串的更新
- 我们可以使用操作符+,使两个字符串进行拼接
假设a = "Hello",b = "Python"
那么a+b得到的结果为"HelloPython"
- 我们也可以使用截取字符串,再使用操作符+
假设a = "Hello",b = "Python"
那么a[:2] + b得到的结果为"HePython"
字符串的操作符
假设a = "Hello",b = "o",c = "He"
- 操作符+:字符串的拼接
a + b 的结果为"Helloo"
- 操作符*:重复输出字符串
a * 3 的结果为"HelloHelloHello"
- 操作符[]:通过索引获取单个字符串
a[1]的结果为"e"
- 操作符[:]:通过索引截取子字符串
a[1:3]的结果为"el"
- 操作符in:如果字符串中包含给定的字符返回True
b in a 的结果为True
c in a 的结果为True
- 操作符not in:如果字符串中不包含给定的字符返回True
b not in a 的结果为False
字符串:转义字符
- 目前我们使用的都是正常的字符,但是我们想输入一些非正常字符,或键盘上不存在的字符的话,我们就要用到转义字符了
- 我们使用反斜杠\来进行转义字符的输入,它有固定的组合,不是自己随便写的
下面我们列举一些常用的转义字符
- 转义字符\\:使用反斜杠符号
print("\\")的结果为
\
- 转义字符\':使用单引号
print("\'")的结果为
'
- 转义字符\":使用双引号
print("\"")的结果为
"
- 转义字符\a:使用后,可以让电脑响铃
print("\a")的结果为
电脑会响一下
- 转义字符\n:换行
print("111 222\n333")的结果为
111 222
333
- 转义字符\r:回车
print("111 222 \r333")的结果为
333
可以注意一下换行和回车的区别:
- 实际\r 是将光标定位到本行开头(当后面接内容后, 本行之前的内容会被清除掉;也就是说,如果\r后面没有接内容,那么就不会清除之前的内容)。
- 而\n是换行到下一行(下一行为新行, 直接就到行首了).