字符串的类型及操作
字符串类型的表示
两类四种表示方法:
- 由一对单引号或双引号表示:单行字符串
- 由一对三单引号或三双引号表示:多行字符串
若希望在字符串中出现单引号(或双引号):“ ’ ”/‘ ” ’
若希望出现单引号z和双引号:''' 既有‘也有“ '''
字符串的序号及索引切片(正向递增/反向递减)
使用[ ]获取其中一个或多个字符:
- 索引
- 切片:[M:N:K]
- <字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
- <字符串>[M:N:K],根据步长K对字符串切片
e.g. "〇一二三四五六七八九十"[1:8:2]的结果是"一三五七"
"〇一二三四五六七八九十"[::-1]结果是"十九八七六五四三二一〇"
字符串的特殊字符:转义符 \
- \表示特定字符的本意:
e.g."双引号\"" "\b"回退 "\n"换行(光标移动到下行首)"\r"回车(光标移动到本行首)
字符串操作符
- x+y 连接两个字符串x和y
- n*x/x*n 复制n次字符串x
- x in s 如果x是s的字串,返回True,否则返回False
字符串处理函数
- len(x): 返回字符串x的长度
- str(x): 任意类型x所对应的字符串形式(eval(x): 和str函数的作用相反)
- hen(x)/oct(x): 整数x的十六进制或八进制小写形式字符串
- chr(u)/ord(x): Unicode和单字符之间的转换(前一个转换为单字符;后一个转换为Unicode编码)
Unicode编码:每个编码对应一个字符
字符串的处理方法
“方法”是专有名词,特指<a>.<b>()风格函数中的函数<b>
“方法”本身也是函数,但与<a>有关
str.lower()/str.upper() | 全部字符小写/大写 | "ABcdEfg".lower() 结果为"abcdefg" |
str.split(sep=None) | 返回一个列表,由str根据sep被风格的部分组成 | "A,B,C".split(",") 结果为['A','B','C'] |
str.count(sub) | 返回子串sub在str中出现的次数 | "a apple a day".count("a") 结果为4 |
str.replace(old,new) | 返回字符串str副本,所有old子串被替换成new | "python".replace("n","n123.io") 结果为“python123.io” |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选 | "python".center(20,"=") 结果为"=======python=======" |
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符 | "= python= ".strip(" =np") 结果为"ytho" |
str.join(iter) | 在iter变量除最后一个元素外每个元素后增加一个str | ",".join("12345") 结果为“1,2,3,4,5” |
字符串类型的格式化
- 格式化是对字符串进行格式表达的方式
- 使用.format()的方法:<模板字符串>.format(<逗号分隔的参数>)
- 槽{ }
"{ }:计算机{ }的CPU占用率为{ }".format("2018-10-10","C",10)
一般情况下一一对应填写
若有特殊标注则按标注填写
- 关联的参数输出的格式