字符串
由0个或多个字符组成的有序字符序列。
表示:
①:由一对单引号或一对双引号表示,仅表示单行字符串。
②:由一对三单引号或三双引号表示,可表示多行字符串。
字符串是字符的有序序列,可以对其中的字符进行索引。且字符串从第0个字符开始。
1、字符串的序号
有正向递增序号和反向递减序号。
正向递增序号:从0开始向上增长。
反向递减序号:最后一位是-1,倒数第二位-2。
2、字符串的使用
使用[ ]获取字符中一个或多个字符。
①索引:返回字符串中单个字符
使用方法:
<字符串>[M]
例如:
TempStr[-1]
②切片:返回字符串中一段字符字串
使用方法:
<字符串>[M: N]
例如:
TempStr[0:1]
字符串切片高级用法
使用[M: N: K]根据步长对字符串切片。
使用方法:
<字符串>[M: N]
其中,M缺失表示至开头,N缺失表示至结尾。
例如:
[:3]//该字符串为⚪一二三四五六七八九十
结果是:⚪一二
<字符串>[M: N: K]
[1:8:2]//该字符串为⚪一二三四五六七八九十
结果是:一三五七
③字符串的特殊字符
**转义符\ **
转义符表达特定字符的本意。转义符形成一些组合,表达一些不可打印的含义。
“\b”:回退
“\n”:换行(光标移动到下行首)
“\r”:回车(光标移动到本行首)
4、字符串操作符
操作符及使用 | 描述 |
---|---|
x + y | 连接两个字符串x和y |
n * x 或 x * n | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
5、字符串处理函数
一些以函数形式提供的字符串处理功能。
函数及使用 | 描述 |
---|---|
len(x) | 长度,返回字符串x的长度 |
str(x) | 任意类型x所对应的字符串形式 |
hex(x) 或 oct(x) | 整数x的十六进制或八进制小写形式字符串 |
chr(u) | u为Unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的Unicode编码 |
eval()函数和str()函数是一对对应的函数,eval()将一个字符串两侧的引号去掉,变成一个python能够运行的语句,str()函数将任何类型的变量增加一个引号。
len("一二三456")//结果为6
str(1.23)//结果为“1.23”
str([1,2])//结果为“[1,2]”
hex(425)//结果为“0x1a9”
oct(425)//结果为“0o651”
6、字符串处理方法
一些以方法形式提供的字符串处理功能。
方法及使用1/3 | 描述 |
---|---|
str.lower() 或 str.upper() | 返回字符串的副本,全部字符小写/大写 |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成 |
str.count(sub) | 返回字串sub在str中出现的次数 |
"AbCdEfGh".lower()//结果为“abcdefgh”
"A,B,C".split(",")//结果为['A','B','C']
“an apple a day”.count("a")//结果为4
方法及使用2/3 | 描述 |
---|---|
str.replace(old,new) | 返回字符串str副本,所有old子串被替换为new |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选 |
"python".replace("n","n123.io")//结果为“python123.io”
"python".center(20,"=")//结果为“=======python=======”
方法及使用3/3 | 描述 |
---|---|
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符 |
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str |
"= python=".strip(" =np")//结果为“ytho”
",".join("12345")//结果为“1,2,3,4,5”
7、字符串类型的格式化
格式化是对字符串进行格式表达的方式。
字符串格式化使用**.format()**方法,用法如下:
<模板字符串>.format(<逗号分隔的参数>)
实用中需要一个概念:槽
槽相当于一个占位信息符,使用一对"{}"来表示,只在字符串中有用。
format()方法的格式控制
python语言使用槽机制加上format方法,来形成字符串的格式化。
槽内部对格式化的配置方式。
{<参数序号> : <格式控制标记>}
python一共提供了六种格式控制标记:
可以简单的分为两类:第一类为填充、对齐、宽度;剩下的为第二类,与数字有关。
"{0:=^20}".format("PYTHON")//结果为‘=======PYTHON=======’
“{0:*>20}”.format("BIT")//结果为‘*****************BIT’
其中第一个“=”指的是填充符号,以“=”填充;"^"指的是居中对齐,即指的是所放入槽中的format方法中的第0个参数以居中对齐的方式来显示;“20”指的是输出宽度。
"{0:,.2f}".format(12345.6789)//结果为‘12345.68’