字符串:由0个或多个字符组成的有序字符序列
-字符串由一对单引号或一对双引号表示
-字符串是字符的有序序列,可以对其中的字符进行索引
字符串有2类共4种表示方法
-由一对单引号或双引号表示,仅表示单行字符串
-由一对三单引号或三双引号表示,可表示多行字符串
-如果希望在字符串中包含双引号或单引号:‘这里有个双引号(’’)‘或"这里有个单引号(’)"
-如果希望在字符串中既包含单引号又包括双引号:"‘这里既有单引号(’)又有双引号(")"’
-字符串的序号:正向递增序号和反向递减序号
-字符串的使用:使用[]获取字符串中一个或多个字符
①索引:返回字符串中单个字符 <字符串>[M]
如:“请输入带有符号的温度值:”[0]或者TempStr[-1]
②切片:返回字符串中一段字符子串 <字符串>[M:N] (取出字符串第M到N个字符,其中包括第M个,不包括第N个)
如:“请输入带有符号的温度值:”[1:3]或者TempStr[0:-1]
③切片高级用法:使用[M:N:K]根据步长对字符串切片
-<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
如:“零一二三四五六七八九十”[:3]结果是"零一二"
-<字符串>[M:N:K],根据步长K对字符串切片
如:“零一二三四五六七八九十”[1:8:2]结果是"一三五七"
如:“零一二三四五六七八九十”[::-1]结果是"十九八七六五四三二一零"
-字符串的特殊字符
(1)转义符
-转义符表达特点字符的本意
如:“这里有个双引号(”)“结果为这里有个双引号(”)
-转义符形成一些组合,表达一些不可打印的含义
"\b"回退 “\n"换行(光标移动到下行首)”\r"回车(光标移动到本行首)
字符串操作符
操作符及使用 | 描述 |
---|---|
x + y | 连接两个字符串x和y |
n * x 或 x * n | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
字符串处理函数
函数及使用 | 描述 |
---|---|
len(x) | 长度,返回字符串x的长度,如str(“一二三456”)=6 |
str(x) | 任意类型x所对应的字符串形式,如str([1,2])="[1,2]",与eval()函数功能相反 |
hex(x)或oct(x) | 整数x的十六进制或八进制小写形式字符串,如hex(425)=“0x1a9”,oct(425)=“0o651” |
chr(u) | u为Unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的Unicode编码 |
字符串处理方法
方法及使用 | 描述 |
---|---|
str.lower()或str.upper() | 返回字符串的副本,全部字符小写/大写,如"AbCdEfGh".lower()=“abcdefgh” |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成,如"A,B,C".split(",")=[‘A’,‘B’,‘C’] |
str.count(sub) | 返回子串sub在str中出现的次数,如"an 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(<逗号分隔的参数>)
-槽:
-format()方法的格式控制:槽内部对格式化的配置方式{<参数序号>:<格式控制标记>}
: | <填充> | <对齐> | <宽度> | <,> | <.精度> | <类型> |
---|---|---|---|---|---|---|
引号符号 | 用于填充的单个字符,默认填充空格 | <左对齐,>右对齐,^居中对齐,默认左对齐 | 槽设定的输出宽度 | 数字的千位分隔符 | 浮点数小数精度或字符串最大输出长度 | 整数类型b,c,d,o,x,X,浮点数类型e,E,f,% |
比如:
“{0:-^20}”.format(“PYTHON”)=’-------PYTHON-------’
“{0:*>20}”.format(“PYTHON”)=’**************PYTHON’
“{0:10}”.format(“PYTHON”)='PYTHON ’
“{0:,.2f}”.format(12345.6789)=‘12,345.68’
“{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}”.format(425)=‘110101001,Ʃ,425,651,1a9,1A9’
//b是二进制格式 c是Unicode编码形式 d是十进制形式 o是八进制形式 x是小写十六进制 X是大写十六进制形式
“{0:e},{0:E},{0:f},{0:%}”.format(3.14)=‘3.140000e+00,3.140000E+00,3.140000,314.000000%’
//e是科学计数法e表示浮点数 E是科学计数法E表示浮点数 f是以通常的非科学计数法表示浮点数 %是以百分号形式表示浮点数