1、字符串(str)
1.1、定义
字符串由一系列字符组成的不可变序列容器,存储的是字符的编码值
1.2、编码
- 字节(byte):计算机最小存储单位,一个字节等于8 位(bit)
- 字符:单个的数字,文字与符号
- 字符集(码表):存储字符与二进制序列的对应关系
- 编码:将字符转换为对应的二进制序列的过程
- 解码:将二进制序列转换为对应的字符的过程
- 编码方式:
- ASCII编码:包含英文、数字等字符,每个字符1个字节
- GBK编码:兼容ASCII编码,包含21003个中文;英文1个字节,汉字2个字节
- Unicode字符集:国际统一编码,旧字符集每个字符2字节,新字符集4字节
- UTF-8编码:Unicode的存储与传输方式,英文1字节,中文3字节
1.3、相关函数
-
ord(字符串):返回该字符串的Unicode码
-
chr(整数):返回该整数对应的字符串
-
示例
ord('a') # 97 chr(99) # c
1.4、字符串特殊操作
-
单引和双引号的区别
-
单引号内的双引号不算结束符
-
双引号内的单引号不算结束符
-
示例
print("这是'双引号' 套的 '单引号' ") print('这是 "单引号" 套的 "双引号" ') # 输出结果 这是'双引号' 套的 '单引号' 这是 "单引号" 套的 "双引号"
-
-
三引号作用
-
换行会自动转换为换行符\n
-
三引号内可以包含单引号和双引号
-
作为文档字符串
-
示例
""" 单双引号输出结果: 这是'双引号' 套的 '单引号' 这是 "单引号" 套的 "双引号" """
-
-
转义字符
-
改变字符的原始含义
\’ \” \””” \n \ \t \0 空字符 -
原始字符串:取消转义
r"字符串"a = "C:\newfile\test.py" # 输出结果 C: ewfile est.py b = r"C:\newfile\test.py" # 输出结果 C:\newfile\test.py
-
-
字符串格式化
- 定义
生成一定格式的字符串 - 语法
字符串%(变量) - 示例
"我的名字是%s,年龄是%d" % (name, age) - 类型码
%s:字符串
%d:整数
%.nf:浮点数(n为精度)
- 定义
2、通用操作
该操作适用于:字符串、列表、元组等
2.1、数学运算符
-
+:用于拼接两个容器
-
+=:用原容器与右侧容器拼接,并重新绑定变量
-
*:重复生成容器元素
-
*=:用原容器生成重复元素, 并重新绑定变量
-
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果
str_1 = 'a b c ' str_2 = 'A B C ' a = str_1 + str_2 # 'a b c A B C ' str_1 += str_2 # 'a b c A B C ' b = str_1 * 2 # 'a b c a b c ' str_2 *= 2 # 'A B C A B C '
2.2、成员运算符
-
语法
数据 in 序列
数据 not in 序列 -
作用
如果在指定的序列中找到值,返回bool类型 -
示例
str_01 = 'abcdefg' str_02 = 'b' str_02 in str_01 # True str_02 not in str_01 # False
2.3、索引(index)
-
作用
定位容器中的单个元素 -
语法
容器[整数] -
说明
- 正向索引从0开始,第二个索引为1,最后一个为len(字符串)-1
- 反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(字符串)
-
示例
str_01 = 'abcdefg' str_01[0] # a str_01[-1] # g str_01[-len(str_01)] # a str_01[len(str_01) - 1] # g
2.4、切片(slice)
-
作用
从容器中取出相应的元素重新组成一个容器。 -
语法
容器[(开始索引):(结束索引)(:(步长))] -
说明
- 小括号()括起的部分代表可省略
- 结束索引不包含该位置元素
- 步长是切片每次获取完当前元素后移动的偏移量
- 不指定开始位置,默认从第一个元素开始;不指定结束位置,默认到最后一个元素
-
示例
message = '这是一个测试字符串' # 取第3 - 第6个元素 print(message[2:6]) # 一个测试 # 取第3 - 第6个元素,隔1个取1个 print(message[2:6:2]) # 一测 # 从开头,取到第6个元素 print(message[:6]) # 这是一个测试 # 从第二个元素,取到最后一个元素 print(message[2:]) # 一个测试字符串 # 正向获取全部元素 print(message[:]) # 这是一个测试字符串 # 反向获取所有数据 print(message[::-1]) # 串符字试测个一是这 # 如果索引的结束值超出索引的最大值时,默认取到最后一个元素 print(message[1:100]) # 是一个测试字符串
2.5、内建函数
- len(x) 返回序列的长度
- max(x) 返回序列的最大值元素
- min(x) 返回序列的最小值元素
- sum(x) 返回序列中所有元素的和(元素必须是数值类型)