1.什么是字符串(str)
字符串是python中一种常用的有序但是不可变得容器类的数据类型,属于序列
字面量:使用单引号或者双引号括起来,就是字符串常量
字符:字符串中的每一个单元。python中只有字符的概念,没有字符类型。
2.字符串中的内容
a.普通字符:包含数字字符、字母字符、普通符号字符、中文、韩文、日语等
b.注意字符:通过反斜杠将一些字符转意成特殊功能或者特殊意义的字符
\n --- 换行
\t --- 制表符
\' --- 表示一个单引号
\" --- 表示一个单引号
\\ --- 表示一个\(特殊意义消失)
注意:一个转义字符代表一个字符
c.阻止转义:在字符串的最前面加r或者R,可以阻止转义字符转义
01.字符编码
python中的字符才用的是Unicode编码
a.什么是编码
就是数字和字符是一一对应的,其中字符对应数字就是字符的编码
a -- 97
b -- 98
余 -- 20313
b.编码方式
ASCII码表:针对数字、字母字符、一些英文常用的符号进行编码。才用一个字节对字符进行编码(一个字节8位)(128个字符,0-127,2**7)
Unicode码:Unicode码包含了ASCII码表,同事都能够对世界上所有语言对应符号进行编码。采用两个字节对字符进行编码,能编码65536(0-65535)个字符
中文编码范围: 4E00 -- 9FA5
c.两个函数
chr(编码值) --- 将字符编码转换成字符
ord (字符) --- 获取字符对应的编码值
d.可以将字符编码放到字符串中变是一个字符:\u + 4位的16进制编码值
例子:str1 = "abc\u4f59123\u5a77"
print(str1) #abc余123婷
02.获取字符串中的字符
一旦一个字符串确定,那么字符串中每个字符的位置就确定
而且每个字符对应一个用来表示其位置和顺序的下标值。
1.下标(索引)
字符串中的每个字符都有一个下标,代表其在字符串中的位置。
下标的范围是:0---字符长度-1 (0代表第一个字符)
-1 --- -字符串长度 (-1代表最后个字符)
2.获取单个字符
语法:字符串[下标] --- 获取字符串指定下标对应的字符
说明:字符串 --- 可以是字符串常量,也可以是字符串变量(只要结果是字符串就行)
[ ] --- 固定写法
下标 --- 字符的下标,不能越界
IndexError: string index out of range 越界错误
3.获取部分字符
语法:字符串[开始下标:结束下标:步长]
说明:字符串 --- 可以是字符串常量,也可以是字符串变量(只要结果是字符串就行)
[ ] --- 固定写法
: --- 固定写法
开始下标、结束下标 --- 都是写下标值
步长 --- 整数
功能:
从开始下标获取到结束下标前为止。每次下标值增加补偿对应的值。
注意:
当步长是正数(从前往后取),开始下标对应的字符要在结束下标对应的字符前面。
当步长是负数(从后往前去),开始下标对应的字符要在结束下标对应的字符后面。
结束下标对应的值娶不到的
方法2
语法:字符串[开始下标:结束下标] (相当于步长位1)
"" --- 表示空串
4.获取部分字符,省略下标
获取部分字符的时候,开始下标和结束下标都可以省略
a.开始下标省略
字符串[:结束下标:步长] 或者 字符串[:结束下标]
步长是正数:从字符串开头开始往后获取
步长是负数:从字符串结尾开始往前获取
b.结束下标省略
字符串[开始下标::步长] 或者 字符串[开始下标:]
步长是正数:从开始下标获取到字符串最后一个字符
步长是负数:从开始下标获取到字符串第一个字符
获取多个字符:开始下标和结束下标是可以越界的
03.字符串相关的运算
1. +
字符串1 + 字符串2 : 将两个字符串拼接在一起产生一个新的字符串(不会修改原字符)
注意:字符串相加,加号两边必须都是字符串
2. *
字符串 * n(正整数) : 字符串的内容重复n次,产生一个新的字符串
3.比较运算符:>,<,==,!=,>=,<=
a.字符串1 == 字符串2 --- 判断两个字符串是否相等
b.>,<,>=,<=
两个字符串比较大小:从第一个开始,找到第一对不同的字符,然后比较他们的编码值得大小。
04. in 和 not in
字符串1 in 字符串2 :判断字符串2中是否字符串1,结果是布尔
字符串1 not in 字符串2 : 判断字符串2是否不包含字符串2,结果是布尔
05. len(函数)
len(序列)
len(字符串) --- 字符串中字符的个数
print(len("abc123"))
print(len("abc\n123\u4e00")) #8
print(len("abc\n123\\u4e00")) #13
print(len(r"abc\n123\u4e00")) #14
06.str
str(数据) : 将数据转换成字符串
a.其他数据转换成字符串:
所有的数据都可以转换成字符串.转换的时候就是在数据的值的最外面加引号
补充:系统数据类型名不能用来给变量命名
b.字符串转其他类型
字符串转整数: int(字符串),只有去掉引号后剩下的部分本身就是一个整数的字符串才能转换成整型
字符串转浮点型: float(字符串),只有去掉引号后剩余的部分本身就是一个整数或者小数的字符串才能转换成浮点型
字符串转布尔: bool(字符串),除了空串会转换成False,其他所有的字符串都会转换成True
04.格式字符串
1.格式字符串
值的是字符串中听过格式占位符来表示字符串中变化,然后后面再通过其他的值来给占位符赋值
语法:
含有格式占位符的字符串%(占位符对应的值)
说明:
格式占位符 --- 有固定的写法;可以有多个
% --- 固定写法
() --- 里面的值的个数和值得类型要和前面的格式占位符一一对应
2.常见格式站位符
%d --- 整数
%s --- 字符串
%.nf --- 小数(保留小数点后n位小数)
%c --- 字符(可以将数字转换成字符)
05.字符串内置函数的常用方法
1.字符串.capitalize() --- 将字符串首字母转换成大写