python字符串类型及其操作
字符串类型的表示
python语言中字符串是字符的序列表示,可以由一对单引号(‘),双引号(“),或三引号(”‘)构成
- 单引号字符串:’单引号表示,可以使用“双引号”作为字符串的一部分‘
- 双引号字符串:“双引号表示,可以使用’单引号‘作为字符串的一部分”
- 三引号字符串:“’三引号表示可以使用”双引号“‘单引号’亦可以换行”‘
字符串中input和print函数的使用
- input()函数将用户输入的内容当作一个字符串类型,是获得用户输入的常用方式
- print()函数可以直接打印字符串,这是输出字符串的常用方式
字符串的两种序号体系
python语言的字符串有两种序号体系:
正向递增序号:以最左侧字符序号为0,向右依次递增,最右侧的字符序号为L-1
反向递减序号:以最右侧字符序号为-1,向左依次递减最左侧的字符序号为-L
反向递减序号
<------------------------------------------------------
-11-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
[H] [e] [l] [l] [o] [ ] [W] [o] [r] [l] [d]
0 1 2 3 4 5 6 7 8 9 10
------------------------------------------------------>
正向递增序号
————————————————
版权声明:本文为CSDN博主「省级干饭王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_55016379/article/details/114675213
(省级干饭王就是我自己)
python访问字符串的方法
python字符串也提供区间访问方式,采用**[N:M]**格式,表示字符串中从N到M(不包含M)的子字符串
N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号
如果表示中的M或者N索引缺失,则表示字符串把开始或结束索引值设为默认值。
格式化控制符
控制符 | 作用 |
---|---|
\a | 蜂鸣,响铃 |
\b | 回退,向后退一格 |
\f | 换页 |
\n | 换行,光标移动到下一行首行 |
\r | 回车,光标移动到本行首行 |
\t | 水平制表 |
\v | 垂直制表 |
\0 | NULL,什么都不做 |
基本的字符串操作符
五个基本的字符串操作符
操作符 | 描述 |
---|---|
x + y | 连接两个字符串x与y |
x * n 或 n * x | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
str[i] | 索引,返回第i个字符 |
str[N:M] | 切片,返回索引第N到第M的子串,其中不包含M |
使用字符串作为查找表的缺点是,所剪切的子字符串长度必须相同
内置的字符串处理函数
python解释器中提供以一些内置函数,其中6个函数和字符串有关
函数 | 描述 |
---|---|
len(x) | 返回字符串x的长度,也可返回其他组合数据类型元素个数 |
str(x) | 返回任意类型x所对应的字符串形式 |
chr(x) | 返回Unicode编码x对应的单字符 |
ord(x) | 返回单字符表示的Unicode编码 |
hex(x) | 返回整数x对应十六进制的小写形式的字符串 |
oct(x) | 返回整数x对应的八进制小写形式字符串 |
ASCLL和Unicode区别
目前计算机系统使用的编码是ASCLL,在C语言和JAVA语言中使用的都是ASCLL,ASCLL局限性在于,它只能表示英语字符,是为英语字符设计的,并没有包含其他的语言。所以它的覆盖面比较小
而Unicode几乎支持所有书写语言的字符。
内置的字符串处理方法
字符串类型共包含43个内置方法。但这里只介绍常用的16种方法
方法 | 描述 |
---|---|
str.lower() | 返回字符串str的副本,全部小写 |
str.upper() | 返回字符串str的副本,全部大写 |
str.islower() | 当str的所有字符都是小写时,返回True,否则返回False |
str.isprintable() | 当str的所有字符都是可打印的,返回True,否则返回False |
str.isnumeric() | 当str的所有字符都是数字时,返回True,否则返回False |
str.isspace() | 当str所有的字符都是空格时,返回True,否则返回False |
str.endswith(suffix[,start,[,end]]) | str[start:end]以suffix结尾返回True,否则返回False |
str.starwith(prefix[,start,[,end]]) | str[start:end]以prefix开始返回True,否则返回False |
str.split(sep=None,maxsplit=-1) | 返回一个列表,由str根据sep被分割的部分构成 |
方法 | 描述 |
---|---|
str.count(sub[,strat[,end]]) | 返回str[start:end]中sub子串出现的次数 |
str.replace(old,new[,count]) | 返回字符串str的副本,所有old子串全被new替换,如count给出,只替换前count相 |
str.center(width[,fillchar]) | 字符串居中函数 |
str.strip([chars]) | 返回字符串str的副本在其左侧和右侧去除chars给出的字符 |
str.zfill(width) | 返回str的副本,长度为width不够在左侧填0 |
str.format() | 返回字符串的一种排版格式 |
str.join(iterable) | 返回一个新的字符串,由字符串iterable变量的每个元素组成,元素间隔用str隔开 |
- str.split(sep=None,maxsplit=-1)返回一个列表,可以储存多个数据类型
- str.center(width[,fillchar]):返回长度为width的字符串,不够用fillchar补充,超了返回str
- str.zfill(width) :返回str的副本,长度为width不够在左侧填0,超了返回str