2 基本操作
2.1 访问
访问单个字符
s = 'Python'# 访问第一个字符 Pprint(s[0])
访问范围内字符
s = 'Python'# 访问 ytprint(s[1:3])# 访问 Pytprint(s[:3])# 访问 honprint(s[3:])
2.2 单个字符编码
Python 使用了 ord() 函数返回单个字符的编码,chr() 函数把编码转成相应字符。如下所示:
s = 'A'print(ord(s))print(chr(65))
输出结果:
65A
3 转义符
之前我们说过可以通过反斜杠 \ 将一行语句分多行显示,其实就是 \ 来转义字符,一些常见的转义字符如下表所示:
| 转义字符 | 描述 |
|---|---|
\ |
在行尾使用时,用作续行符 |
| \b | 退格(Backspace) |
| \000 | 空 |
| \n | 换行 |
| \v | 纵向制表符 |
| \t | 横向制表符 |
| \r | 回车 |
4 运算符
之前我们已经介绍了大部分运算符,下面再来详细看一下字符串运算符。如下表所示:
| 运算符 | 描述 |
|---|---|
| + | 连接符 |
| * | 重复输出 |
| [] | 通过索引获取字符串中字符 |
| [ : ] | 获取字符串中的一部分 |
| in | 字符串中是否包含指定字符 |
| not in | 字符串中是否不包含指定字符 |
| r/R | 字符串原样输出 |
使用示例如下所示:
s1 = 'Hello's2 = 'Python'print('s1 + s2 -->', s1 + s2)print('s1 * 2 -->', s1 * 2)print('s1[0] -->', s1[0])print('s1[0:2] -->',s1[0:2])print('"H" in s1 -->','H' in s1)print('"H" not in s1 -->','H' not in s1)print('\\r -->', R'\r')
输出结果:
s1 + s2 --> HelloPythons1 * 2 --> HelloHellos1[0] --> Hs1[0:2] --> He"H" in s1 --> True"H" not in s1 --> False\r --> \r
5 格式化
当我们需要输出的内容中含有变量时,比如:Hello xxx,xxx 为变量,此时便需要一种格式化字符串的方式,Python 使用 % 格式化字符串,常用占位符如下表所示:
| 占位符 | 描述 |
|---|---|
| %s | 格式化字符串 |
| %d | 格式化整数 |
| %f | 格式化浮点数 |
以字符串为例,如下所示:
print('Hello %s' % 'Python')
输出结果:
Hello Python
我们也可以使用字符串的 format() 方法进行格式化,先看下示例:
print('{0} {1}'.format('Hello', 'Python'))
这种方式是用传入的参数依次替换字符串内的占位符{0}、{1} ...
2 基本使用
2.1 索引
序列索引支持非负数和负数,索引为非负数,从 0 开始,如下所示:

索引为负数由右向左计数,从 -1 开始,如图所示:

下面通过一个示例作进一步了解,以字符串为例,如下所示:
str = 'Python'print('str[0] str[-6] =', str[0], str[-6])print('str[5] str[-1] =', str[5], str[-1])
输出结果:
str[0] str[-6] = P Pstr[5] str[-1] = n n
从结果来看,我们使用非负数索引与负数索引得到的结果一致。
2.2 切片
切片操作可以访问一定范围内的元素,语法如下所示:
sname[start : end : step]
-
sname:表示序列的名称;
-
start:开始索引位置(包括该位置),默认为 0;
-
end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;
-
step:步长。
以字符串为例,如下所示:
str = 'Python'print(str[:3])print(str[3:])print(str[:])
输出结果:
PythonPython
2.3 相加
Python 支持类型相同的序列使用 + 作相加操作,该操作不会去除重复的元素。以字符串为例,如下所示:
str1 = 'Python'str2 = 'Python'print('str1 + str2 --> ',str1 + str2)
输出结果:
str1 + str2 --> PythonPython
2.4 相乘
Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。以字符串为例,如下所示:
str = 'Python'print('2 * str --> ',2 * str)
输出结果:
2 * str --> PythonPython
2.5 元素是否在序列中
Python 使用 in 关键字检查某元素是否为序列的成员,语法如下:
val in seq
-
val:要检查的元素;
-
seq:指定的序列。
通过一个例子作进一步了解,以字符串为例,如下所示:
str = 'Python'print('on'in str)
输出结果:
True
2.6 内置函数
| 函数 | 描述 |
|---|---|
| len() | 计算序列的长度 |
| max() | 找出序列中的最大元素 |
| min() | 找出序列中的最小元素 |
| list() | 将序列转换为列表 |
| str() | 将序列转换为字符串 |
| sum() | 计算元素的和 |
| sorted() | 对元素进行排序 |
| enumerate() | 将序列组合为一个索引序列,多用在 for 循环中 |
简单举几个例子,如下所示:
str = 'dbcae'print('len -->', len(str))print('max -->', max(str))print('sorted -->', sorted(str))
输出结果:
len --> 5max --> esorted --> ['a', 'b', 'c', 'd', 'e']