字符串
概念
由0个或多个字符组成的有序字符序列。
表示
字符串表示方法可归为2类4种。
由一对单引号或一对双引号表示,仅表示单行字符串
字符串的序号
两种索引方式:正向递增序号、反向递减序号。
(1)正向递增序号:从左到右,从0递增。
(2)反向递减序号:从右到左,从-1递减。
如果希望在字符串中包含双引号或单引号,即'(")'或"(')"
如果希望在字符串中既包括双引号或单引号,即'''("或')'''
字符串的使用
使用[]获取字符串的一个或多个字符。
(1)索引:返回字符串中的单个字符。
规则:<字符串>[M]表示返回字符串中序号为M的单个字符。
(2)切片:返回字符串中的一段字符子串。
规则:<字符串>[M:N]表示返回字符串中从序号为M到序号为N之间(包含M,不包含N)的字符子串。
高级用法:<字符串>[M:N:K]表示根据步长K对字符串进行切片,K可为负数,表示反向。
M如果缺失表示至开头,N如果缺失表示至结尾。
字符串的特殊字符
转义符
(1)表示特定字符的本意。
>>>"这里有个双引号(\")"
这里有个双引号(")
(2)转义符可形成一些组合,表达一些不可打印的含义。
"\b"表示回退,即光标向前回退一个位置;
"\n"表示换行,即光标移动到下行首;
"\r"表示回车,即光标移动到本行首;
"\t"表示制表符
字符串操作符
(1)x + y 表示连接两个字符串x和y;
(2)n *x或x *n 表示复制n次字符串x;
(3)x in s 表示如果x是s的子串,返回True,否则返回False;
字符串操作函数
一些以函数形式提供的字符串处理功能。
(1)len(x) 长度,返回字符串x的长度;
(2)str(x) 将任意类型x转换成所对应的字符串形式;
(3)hex(x) 将整数x转换成所对应的十六进制的小写形式字符串;
oct(x) 将整数x转换成所对应的八进制的小写形式字符串;
(4)chr(x) 这里x为Unicode编码,返回其对应的字符;
ord(x) 这里x为字符,返回其对应的Unicode编码;
【Unicode编码】Python字符串的编码方式,覆盖几乎所有字符的编码方式。
字符串处理方法
(1)str.lower()或str.upper()表示返回字符串的副本,全部字符小写/大写;
>>>"AbCdEfGh".lower()
"abcdefgh"
(2)str.split(sep=None)表示返回一个列表,由str根据sep被分隔的部分组成;
>>>"A,B,C".split(",")
['A', 'B', 'C']
(3)str.count(sub)表示返回子串sub在str中出现的次数;
>>>"an apple a day".count("a")
4
(4)str.replace(old, new)表示返回字符串str副本,所有old子串被替换为new;
(5)str.center(width[,fillchar])表示字符串str根据宽度width居中,fillchar可选;
>>>"python".center(20,"=")
'=======python======='
(6)str.strip(chars)表示从sty中去掉在其左侧和右侧chars中列出的字符;
>>>"= python= ".strip(" =np")
"ytho"
(7)str.join(iter)表示在iter变量除最后元素外每个元素后增加一个str;
字符串类型的格式化
格式化即对字符串进行格式表达的方式,字符串格式化使用.format()方法。
槽,相当于一个占位信息符,使用一对"{}"表示,只在字符串中使用。
format()方法的格式控制,()中序号从左到右,以0为序号递增。
(1):表示引导符号;
(2)<填充>用于填充的单个字符,默认填充为空格;
(3)<对齐>用于对齐:<表示左对齐,>表示右对齐,^表示居中对齐,默认对齐为左对齐;
(4)<宽度>用于表示槽设定的输出宽度;
(5)<,>用于表示数字的千分位分隔符;
(6)<.精度>用于表示浮点数小数精度或字符串最大输出长度;
(7)<类型>用于表示数据类型,b(二进制格式)、c(字符形式,Unicode编码)、d(十进制格式)、o(八进制格式)、x(十六进制格式)、X(大写十六进制格式)浮点数类型、e(以e表示的科学计数法)、E(以E表示的科学计数法)、f(常见的浮点数形式)、%(以%表示浮点数)
>>>"{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {0:X}".format(425)
'110101001, ∑, 425, 651, 1a9, 1A9'
>>>"{0:e}, {0:E}, {0:f}, {0:%}".format(3.14)
'3.14ooooe+oo, 3.140000E+00, 3.140000, 314.000000%'
学习资料:《Python编程从入门到实践》、《Python语言程序设计课程》课程(北京理工大学嵩天教授)
作者:向克卜勒借光