字符串
1, 字符串是容器型数据类型,以单引号或者双引号作为容器的标志,引号中所有内容都输入字符串的元素。
“abc”:元素是“a”,“b”,“c” -->3个元素
“a,b,c”:元素是“a”,",",'b",","c"-->5个元素
特点:不可变,支持下标操作
2,字符串中的元素叫字符,python中有字符的类型,但是没有字符类型,长度为1的字符串可以看成字符。
(1)普通字符:字母,数字,各国文 字和符号,可以直接写在引号里的符号。
(2)转义字符(在字符串中在特定的符号前加\表示特殊功能和意义):一个转义字符占一个字符
\n:换行
\t:空一个字节 tab,制表符
":打印 "
\:打印\
(3)编码字符\u四位16进制数
将4位16进制数对应的编码值转换成字符
字符编码:计算机只有直接存储数字的能力,不能直接存储字符,当需要用计算机存储字符时,存储的是字符对应的数字,数字就是字符在计算机中的编码。每一个字符和数字的对应关系就是编码表。
常用的编码表有:ASCII和Unicode,Unicode包含所有语言的所有符号。中文的范围:0x4e00~0x9fa5
编码相关的方法:
char(编码值):将编码值转化为字符;
ord(单个字符):将字符转化为编码值
4,获取字符
(1)和列表一样,进行下标操作:
print("andjfd"[3])
-->"j"
(2)字符串切片
print("jslfnddkjshdks"[2,7,2])
-->ln
(3)遍历
for char in "shdgjs” print(char)
5, 字符串操作
(1)+和*
+:两个字符串进行拼接,产生一个新的字符串。
字符串*n :n个字符串相连接。
(2)== 和!=:个数和顺序完全相同才能相等
(3)>,<,>=,=<:依次比较字符串的编码值
(4)in/not in:一个字符串中是否包含某个子字符串
(5)函数:
len():计算字符串长度,转义字符和编码值都只占一个位置。
max/min():根据字符串编码选最大值或者最小值
sorted():按照编码值排序。
str(),所有的数据类型都可以转化为字符串,转换的时候将数据放在引号中。
(6)r语法:在字符串的最前面加“R”或者“r”,可以阻止字符串中所有转义字符转义。
(7)格式字符串:在字符串中用占位符来代替字符串中不确定的部分。
语法:包含格式占位符的字符%(数据1,数据2,...数据n),()中数据的个数和类型要和格式占位符一一对应。
常见的格式占位符:
%s:字符串
%d:整数
%.Nf:浮点数,N控制小数点后的位数。
%c:字符
注意:所有的数据都可以用%s做格式占位符。
6.字符串方法
(1)填充字符串至指定宽度
字符串.center(宽度,填充字符)
str1="avb" print(str1.center(9,"+"))
字符串.l(r)just(宽度,填充字符)
字符串.zfill(宽度):在左边填充0至宽度位
(2)统计子串的个数
字符串.count(待统计子字符串,开始下标,结束下标):在指定范围内统计某子字符串的数量。
(3)返回字符的下标
字符串.find(字符):无指定字符,返回-1
字符串.index(字符):无指定字符,报错
(4)join方法
字符串.join(序列):将序列中的元素用字符串连接产生一个新的字符串。如果序列是字典,key是字符串。
(5)替代;字符串1.replace(字符串2,字符串3,n):将字符串1中的前n个字符串2替换成字符串3.
(6)字符串切割;字符串.split(字符串2):将字符串按照字符串2进行切割。返回一个列表,切割的标准只要一个。
补充:python中,三个单引号或者双引号也是字符串,这种字符串直接按回车键对字符串进行换行。