TreeMind树图在线AI思维导图
当前位置:树图思维导图模板高校与高等教育其他学科第五章 字符串思维导图

第五章 字符串思维导图

  收藏
  分享
免费下载
免费使用文件
苓南 浏览量:432023-10-27 22:18:34
已被使用3次
查看详情第五章  字符串思维导图

计算机字符串介绍

树图思维导图提供 第五章 字符串 在线思维导图免费制作,点击“编辑”按钮,可对 第五章 字符串  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:abdb7b347483f375a8511d42fafb0d38

思维导图大纲

第五章 字符串思维导图模板大纲

字符串的基本概念

字符串是一个不可变类型,即声明之后,其中的所有字符都不能再修改。

判断一个变量是不是字符串----用isinstance(需判断的变量本身,str)

在python中无论哪种引号包裹的都是字符串,引号必须配对使用,但在字符中间就不需要配对使用

"\"转义字符,意味着本行结尾的换行符不计入输出

字符串的索引和切片

字符串的本质是字符的组合,在一个字符中,每一个组成部分都称为一个字符。每个字符所在的位置称为“字符的偏移量”。

在实际的使用环境下,“索引值”指的就是偏移量

字符串的索引

正向索引

其开始点是字符串的左边第一个字符,索引值是0,之后每个字符的索引值依次增加1【即所有的索引值都是正数或0】

反向索引

按照从右至左的顺序编号,由于索引值0已经被正向索引使用,为了不产生分歧,即从-1开始,从右至左依次减一【也就是说所有的索引值都是负数】

注意事项

1.数学上的-0、+0、0都指的是同一个数字0

2.索引的结果是一个只读的值,故不能通过改变索引对应值的方法修改字符串,否则会报错

需要修改字符串中索引值为n的字符时,其步骤为

1.求出字符串的长度

2.如果m<n,那么返回失败

3.取出索引值为0至n-1的字符串,记为leftstring

4.取出索引值为n+1至m-1的字符串,记为rightstring

5.把leftstring、修改后的字符和rightstring拼接为一个新的字符串newstring

6.输出newstring

切片操作的基本方法

1.返[m,n]的子串,可以使用astring[m:n]这种写法。【注:m必须小于n,同时返回的值包含m而不包含n】

2.如果m和n分别指的是字符串的开头和结尾,那么就可以不写

3.切片的第三种写法是astring[m::n],用于从字符串中索引值为m的字符(即第m+1个字符)开始,每n个字符取出一次的情况。分为以下四种情况:

1)如果n为正,则查询方向为正向索引方向

2)如果n为负,则查询的方向为反向索引方向

3)如果不写n,则视为astring[m::1]

4)如果n和m都不写,则视为astring[0::1],特别指出如果n为0,则系统会返回一个错误

字符串的拼接

加号连接--“+”

直接将两个字符串用加号连接在一起。虽然方法简单明了,但是效率不高

%连接

%连接可以解决加号连接的问题,且只需要申请一次内存空间,但是已经被淘汰了

join()函数

可以将一个列表拼接为一个字符串,这种方式广泛地用于生成参数表

format()函数

格式化字符串【如“&”、“\”等】

特殊字符和字符转义

常用的转义字符----参考书75页

特殊字符----在字符串的实际使用过程中,存在着一些无法直接显示的字符,如换行符(\n)、水平制表符(\t)等这些字符

如果在双引号包裹的字符串中必须使用双引号,那么这种情况下双引号也是一种“特殊字符”

“\ooo”代表着最多只能使用一个3位的八进制数

“\xhh”指的是只能使用2位的十六进制数

单引号和双引号的转义字符注意事项

1.无论包裹字符串使用的是哪种引号,将引号转义肯定不会错

2.如果包裹的引号和字符串中使用的引号不一样,那么引号可以不转义

在三引号的长字符串中,如果需要表达另一个三引号,那么只需要将其中任一个引号转义就行

原始字符串和格式化字符串

原始字符串----在字符串前加先导符“r”(也可以是大写的“R”),之后字符串里的所有内容都不会被转义

首先使用了原始字符串,然后又使用了转义方式,那么“\”已经没有了转义的作用,那么在这个字符串中如果需要使用引号,该如何处理?

1.如果字面量只用到一种引号,显然只需要包裹时用另一种引号就可以

2.如果字面量同时用两种引号,那么可以在原始字符串中使用三连引号

3.如果字面量里同时出现两种三引号,就只能放弃使用原始字符串,而改为使用普通的需要转义的字符串

格式化字符串----调用format()函数的对象

格式规格迷你语言----被花括号包裹的部分

基本规则----{参数编号:格式化语言}

如果参数编号为0,则对应着format()函数的第一个参数,如果是1,则是第二个参数。每个参数可以使用多次,格式化规则的书写方法----[对齐方式] [符号显示规则] [#] [0] [填充宽度] [千分位分隔符] [.<小数精度>] [显示类型]

书写格式化规则时,除非对应部分不出现,否则就必须严格按照上述顺序,绝对不能修改

对齐方式是指文本居中、居左还是居右,空白部分使用什么字符填充----“<”左对齐、“>”右对齐、“^”居中对齐、“=”只能用在数字上,表示填充时把填充文本放在正负号的右边,一般要书写填充文本0,专门用于显示-000010这样的文本

符号显示规则----一般默认情况是取值“-”,表示只有负数才显示符号,正数不显示符号;取值“+”表示无论是正数还是负数都显示符号。符号显示规则为“空格符”时表示正数在符号位显示一个空格,负数显示负号

符号显示规则后的“#”表示如果以二进制数显示数字,则显示前导符“0b”,八进制“0o”,十六进制“0x”。如果不是这些情况,则无任何效果

绝不能把“#”写到数字后面,会报错,如果要加上符号显示规则,就必须写成“{0:<+#8b}”,“+”和“#”位置不能对调

在格式化规则中,“#”后面的0(如{0:<+#08x}等价于{0:0<+#8x}),其含义等价于将填充字符修改为0,在0之后输入的是填充宽度,其值是一个数字值,表示填充内容占的宽度

千分位分隔符之后是“小数精度”,也就是显示的小数位数,不足的部分以0补齐【注:在有小数位时,必须指定这个参数是一个浮点数】

显示类型指的是数据如何呈现,根据输入类型可分为三类----字符串类型、整数类型和小数类型,其可用形式参考书80页

在使用格式化字符串时,每次写一个format()函数比较麻烦,所以现在有一个更简单的写法----格式化字符串字面量(也可以称为“f-string”)

特点是在字符串前加前导符“f”或“F”。使用时,将格式规格迷你语言的第一部分换成变量名或者是表达式即可

字符串的编码

计算机是不能直接保存字符的,只能保存二进制数,哪怕写成字节的形式,也只是一个0~255的数字

早期更适合计算机处理和显示的字符集----ASCII码

可显示字符(参考书82页)

在python中可以使用chr()函数将一个ASCII码可显示字符转化为其对应的数字,使用ord()函数进行反向转换【注意ord()函数一次只能转换一个字符】

字节串的字面量----将一个字符串转换为若干个字节,其中每一个字节对应一个字符。【注:只能保存ASCII码中存在的字符,以及十六进制码。书写时,需要在字符串前加字母b(大小写都可)】

控制字符

我国自行研发两种更适合中文的字符集----GB2312码(包含ASCII码)和GBK码(包含GB2312码)

在ASCII码中,每一个字符用7位表示,而在GB2312码和GBK码中,每一个字符用16位表示,所以,采用GBK码或GB2312码保存的文件,使用ASCII码方式打开时都会显示乱码

encode()是编码函数,作用是将源字符串按照一定的编码规则转换为字节串字面量

decode()是编码函数的反函数,作用是把字节按照编码规则反向地转换为对应字符。故称为“解码函数”

Unicode字符集是ASCII码的扩展形式,包含了世界上大多数语言所需要用到的字符。分为UTF-8、UTF-16和UTF-32

ASCII码和Unicode都是字符集,都是为每一个字符分配一个码位,而UTF-8、UTF-16等都是针对Unicode字符集的“编码规则”,也就是将每一个“码位”转换为字节序列的规则

与ASCII码相同,在字符串中也可以直接使用Unicode码书写字符,这是需要使用转义字符“\u579D”,其中,“\u”后面接的4个十六进制字符代表2个字节

再次强调,Unicode码与保存到文件中的、使用UTF-8转换过的二进制位是不一样的,一定要注意区分【编码规则----“UTF-8”,码表或者字符集----“Unicode”】

字符串的常用操作

1.类型转换函数

包括int()、long()、float()、complex()、tuple()、list()、chr()、ord()、unichr()、hex()和oct()----根据函数名就可以判断出函数的作用

2.表达式转换函数eval()---该函数的参数是一个表达式,也就是说可以有变量

3.长度计算函数len()

4.大小写转换函数lower()和upper()----把字符串里的英文字母转换为对应的小写字符或者大写字符,对非英文字母不起作用

5.查询函数find()----第一个参数是待查询的字符串,第二个参数是查询开始的位置,不写就是0。执行查询,如果包含,则返回第一个字符在字符串中的位置,如果不包含,则返回-1

6.字符串分解函数split()----在使用过程中,需要注意一下它的参数,第一个参数表示分隔符,第二个参数是切割的次数

相关思维导图模板

python思维脑图思维导图

树图思维导图提供 python思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 python思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a0bddae97bad22c753cc657ebce5d661

字符串操作函数与正则表达式思维导图

树图思维导图提供 字符串操作函数与正则表达式 在线思维导图免费制作,点击“编辑”按钮,可对 字符串操作函数与正则表达式  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:bb0f2ee42fa002a8fd111f8f761cc152