一、字符编码
1、什么是字符串
字符串是Python中一种常用的有序但是不可变得容器类的数据类型,可以同时存储多个字符,属于序列。
用单引号或者双引号括起来的任意字符集
2、字符串中的字符
- a.普通的字符:包含数字字符、字母、普通符号(如:+ - * / ( ) % # @等等、中文、韩文、日语等。
- b.转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符。
- 阻止转义:r/R
3、字符编码
Python中的字符采用的是Unicode编码
a. 什么是编码
概念:编码指的就是数字和字符的对应关系,其中字符对应的数字就是字符的编码,比如:
a - 97
b - 98
余 - 20313
b.编码方式:
- ASCII码表:
- 只针对数字字符 字母字符 一些英文中常用的符号进行编码
- 采用一个字节对字符进行编码(只能对128个字符进行编码)
- Unicode码:
- 包含了ASCII码表,同时能够对世界上所有语言对应的符号进行编码;
- Unicode编码采用两个字节对字符进行编码,能编码65536个字符;其中,中文编码范围:4E00 - 9FA5。
c.两个函数
- chr(编码值) - 将字符编码转换成字符
- ord(字符) - 获取字符对应的字符编码
d.可以将字符编码放到字符串中表示一个字符:\u + 4位的16进制编码值,如:
print('da\u7f57132')
二、获取字符串中的字符
一旦一个字符串确定了,那么字符串中的每个字符的位置就确定了,而且每个字符会对应一个用来表示其位置和顺序的下标值。
1、下标(索引)
字符串中的每个字符都有一个下标,代表其在字符串中的位置
下标的范围是:
0 ~ 字符串长度 - 1(0代表第一个字符)
-1 ~ 负的字符串长度(-1代表最后一个字符)
2、获取单个字符
- 语法:字符串[下标] - 获取字符串中指定下标对应的字符
- 说明:
- 字符串 - 可以是任何字符串常量,也可以是字符串变量(只要结果是字符串就行)
- [] - 这是固定写法
- 下标 - 字符串的下标 不能越界
- 说明:
3、获取部分字符
注意:开始下标和结束下标都可以越界
- 方法一:
- a.语法:字符串[开始下标:结束下标:步长]
- b.说明:
- 字符串 - 可以是任何字符串常量,也可以是字符串变量(只要结果是字符串就行)
- [] - 这是固定写法
- : - 这是固定写法
- 开始下标 - 下标值
- 结束下标 - 下标值
- 步长 - 整数
- c.功能:从开始下标开始获取到结束下标前为止,每次下标值增加步长对应的值,结果是一个字符串
- d.注意:
- 当步长是正数(从前往后取),必须是开始下标对应的字符要在结束下标对应的字符前面
- 当步长是负数(从后往前取),必须是开始下标对应的字符要在结束下标对应的字符后面
- 结束下标对应的值取不到
- 方法二:
* 语法:字符串[开始下标:结束下标](相当于步长是1)
4、 获取部分字符,省略下标
- 获取部分字符的时候,开始下标和结束下标都可以省略
- a.开始下标省略
- 字符串[:结束下标:步长] 或者 字符串[:结束下标]
- 步长是正数:从字符串开头开始往后获取
- 步长是负数:从字符串结尾开始往前获取
- b.结束下标省略
- 字符串[开始下标::步长] 或者 字符串[开始下标:]
- 步长是正数:从开始下标从前往后获取到字符串结束
- 步长是负数:从开始下标从后往前获取到字符串开头
- c.开始下标与结束下标都省略
- 字符串[::步长] 或者 字符串[:]
- 步长是正数:获取整个字符串
- 步长是负数:获取整个倒序的字符串
- a.开始下标省略
三、字符串相关运算
1、加法运算(+)
字符串1 + 字符串2 :将两个字符串拼接在一起,产生一个新的字符串(不会修改原字符串)。
注意:字符串相加,加号两边必须都是字符串!
2、乘法运算(*)
字符串 * n(正整数) :字符串的内容重复n次,产生一个新的字符串。
3、比较运算符:> < == != >= <==
a. == 与 !=
字符串1 == 字符串2 - 判断两个字符串是否相等
b. > < >= <==
两个字符串比较大小:从第一位开始,找到第一对不同的字符,然后比较他们的编码值的大小。
4、in 和 not in
字符串1 in 字符串2:判断字符串2中是否包含字符串1,结果是布尔。
字符串1 not in 字符串2:判断字符串2中是否不包含字符串2,结果是布尔。
5、len函数
语法:len(序列)
讲解:len(字符串) - 获取字符串中字符的个数
6、str
str(数据):将数据转换成字符串
a.其他数据转换成字符串:
所有类型的数据都可以转换成字符串,转换的时候就是在数据的值的最外面加引号。
b.字符换转其他类型
字符串转整数: int(字符串) - 只有去掉引号后,剩下的部分本身就是一个整数的字符串才能转化成整型。
字符串转浮点型:float(字符串) - 只有去掉引号后,剩下的部分本身就是整数或者小数的字符串才能转换成浮点型。
字符串转布尔型:bool(字符型) - 除了空串会转换成False,其他的所有的字符串都会转换成True。
补充!系统数据类型名不能用来给变量命名
四、格式字符串
1、格式字符串
- 概念:
- 指的是字符串中通过格式占位符来表示字符串中变化的部分,然后后面再通过其他的值来给占位符赋值。
- 语法:
- 含有格式占位符的字符串 % (占位符对应的值)
- 说明:
- 格式占位符 - 有固定的写法 可以有多个
-
% - 固定写法
-
() - 里面的值的个数和值得类型要和前面的格式占位符一一对应
2、常见格式占位符
%d - 整数
%s - 字符串
%.nf - 小数(保留小数点后n位小数)
%c - 字符(可以将数字转换成字符)
例如:
message = '%s,今年%d岁,体重:%.2fkg,血型是:%c' % ('小明', 18+2, 65, 97)
print(message)
打印效果为:
小明,今年20岁,体重:65.00kg,血型是:a