字符串
1.什么是字符串(str)
字符串是容器型数据类型(序列);以单引号或者双引号作为容器的标志,引号中所有的内容都属于字符串的元素
'abc' -> 元素分别是'a','b','c'
'a, b, c' -> 分别是'a', ',', ' ', 'b', ',', ' ', 'c',7个元素
特点:不可变,有序(支持下标操作)
2.字符串的元素
字符串中元素又叫字符(注意:python中有字符的概念,但是没有字符类型;长度是1的字符串就可以看成字符)
a.普通字符:字母、数字。各国的文字和符号等(可以直接写在引号中的符号)
'abc', 'abc', '+-%abc胡说'
b.转义字符:字符串中在一些特定的符号前加\来表示特殊功能和意义
' - 表示 '
" - 表示 "
\n - 表示换行
\t - 表示制表符
\ - 表示\
c.编码字符:\u4位16进制数 -将4位十六进制数对应的Unicode编码转换成字符
1)字符编码
计算机只有直接存储数字的能力,不能直接存储字符;
当需要用计算机存储字符的时候,实质存的是字符对应的固定的数字,这个数字就是字符在计算机中的编码
每一个字符和数字对应的关系叫编码表
2)ASCII编码表和Unicode编码表
ASCII码表是有美国国家标准制定的专门针对美国符号进行编码的,里面只包含一些特殊符号、字母和数字(不包含中文、日语、韩语等)
python采用的是Unicode编码表:Unicode编码表是对ASCII表的扩展,包含了世界上所有国家所有语言的符号(又叫万国码)
(Unicode表中,中文范围是0x4E00~9FA5)
3)字符编码相关方法
chr(编码值) - 将编码值转换成字符
ord(字符) - 获取字符对应的编码值
字符串操作
1.获取字符
1)获取单个字符
str[index]
2)字符串切片
strstart:end:step
3)遍历
for char in str:
emsp;emsp;print(char)
2.字符串操作
1)+和*
字符串1 + 字符串2 -> 将字符串1和字符串2拼接在一起,产生一个新的字符串
字符串 * N/N * 字符串 -> 字符串重复N此产生一个新的字符串
2)==, !=
和列表一样
3)>, <, >=, <=
只能两个字符串比较大小そぅですが わかりましだ
从前往后找到以一组不相等的字符,比较它们编码值的大小,谁的编码值大那个字符串就大
4)in/not in
字符串1 in 字符串2 -> 判断字符串2是否包含字符串1(判断字符串1是否是字符串2的子串)
5)len, max, min, sum, sorted, str
字符串转换:所有的数据都可以转换成字符串,转换的时候是将数据放在引号中
6)r语法
在字符串的最前面加r或R,可以阻止字符串中所有的转义字符转义
注意:转义字符和编码字符的长度都是1
7)格式字符串
在字符串中用格式占位符表示字符串中不确定的部分
a.语法:包含格式占位符的字符 %(数据1,数据2,数据3,...) —— ()中数据的个数和类型要和前面的格式占位符一一对应
b.格式占位符
%s - 字符串
%d - 整数
%N.nf - 浮点数,n控制小数点后小数的位数,N控制域宽
%c - 字符(可以将数字转换成字符)
%format -
注意:1)所有的数据都可以使用 %s做格式占位符 2)所有的数据都可以使用 %s来接收
字符串的相关方法
1.字符串对齐
字符串.center(宽度,填充字符=' ') - 居中
str1 = 'abc'
print(str1.center(9, '+'))
'+++abc+++'
字符串.ljust(宽度,填充字符=' ') - 左对齐
字符串.rjust(宽度,填充字符=' ') - 右对齐
字符串.zfill(宽度) - 相当于字符串.rjust(宽度, 0)
2.统计子串的个数
字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数
字符串1.count(字符串2,start_index, end_index) - 在开始下标至结束下标内统计字符串1中字符串2出现的次数,
3.获取子串下标
字符串.find(str) - 打印str首字符在字符串中的下标
4.join方法
字符串.join(序列) - 将序列中的元素用字符串连接产生一个新的字符串
序列中的元素必须是字符串(如果是字典,则连接key)
5.替换
字符串1.replace(字符串2,字符串3) - 将字符串1中所有的字符串2都替换为字符串3
字符串1.replace(字符串2,字符串3,N) - 将字符串1中前N个字符串2都替换为字符串3
6.字符串切割
字符串1.split(字符串2) - 将字符串2作为切割点,切割字符串1,返回一个列表