Python|字符串str的构造、操作(操作符、函数、方法)

字符串是一种“元素受限"的序列,序列中的元素是单个字符。

字符串使用一对单引号''或一对双引号“”或一对三引号'''''''(或"""""")的定界符(delimiter)去界定一个字符串,并且不同的定界符可以相互嵌套。单引号或双引号界定字符串时作用是一样的,但要配对,三引用可以使用三个单引号或三个双引号,也要配对,可以定义一个多行字符串。

Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。

字符除了支持使用加号连接字符串以外,还提供了大量的运算符、对象方法、标准函数支持查找、替换、排版等操作。

1字符串的构造

1.1按定义描述直接生成

1.2使用类型转换str()生成

1.3使用join方法连接列表元素

2字符扫描(遍历)

也就是遍历字符串的全部字符,一边遍历一边处理。

3字符编码和字符串比较

字符串的基础是字符。Python语言规定的字符集是国际语言字符集Unicode,这也规定了所有可用字符的编码,每个字符对应一个唯一的编码。在计算机的存储或传输中,字符也用二进制位串表示,每个字符对应一个二进制位串,而每个二进制位串对应着一个整数。人们称这个整数是字符的编码。

标准内置函数ord(c)返回字符c对应编码(unicode的整数编码);

标准内置函数chr(n)返回整数n对应的字符:

字符串的比较基于字符串的每个字符的编码。

除了用in和notin以外,还可以使用==、!=、、=、、=等比较运算符,得到一个逻辑值。

4字符串类别判断对象方法符合返回“True”的情况()s不空且其中所有存在大小写的字符都是大写()s不空且其中所有存在大小写的字符都是小写()s不空且其中所有字符都是数字()s不空且其中所有字符都是字母()s不空且其形式可以作为标识符()s不空且其中全是空白字符(空格、制表符、换行符)5字符串大小写转换对象方法说明()拷贝后大写的字母变成小写()拷贝后小写的字母变成大写()拷贝后首字符大小、其余小写()拷贝后大小写调换6字符串查找、替换、统计和空白字符控制对象方法说明(sub)查找并返回字符串sub在s里首次出现的位置,如果没有,返回-1(sub,start,)查找并返回字符串sub在s的指定区间里首次出现的位置,如果没有,返回-1(sub)统计sub在s里互不重叠的出现的次数(sub,start,)统计sub在s的指定区间里互不重叠的出现的次数(old,new)拷贝后把s里的old替换为new(old,new,count)拷贝后把s里的old替换为new,只做前count次替换()拷贝后删去s两端的空白字符(如果有)(chars)拷贝后删去s两端的与chars相同的字符(如果有)([chars])同上,仅限左端操作([chars])同上,仅限右端操作

7字符串和表相互转换

7.1字符串分割,得到一个列表

([sep],[max])

sep是用于切分的子串。默认是连续空白字符段(空格/换行/制表符)

max用于指定(从左向右处理时)最大切分项数,切分出指定项数后剩下的串作为结果表里的最后一个子串。

切分时会丢掉s开头和结尾的空白字符。

如果想从右边开始切分,可以使用()方法

如果想按行切割,可以使用([keeps])

可选参数keeps用于指定是否保留每行最后的换行符。

7.2列表元素连接,得到一个字符串

切割的逆操作是连接,使用(list1)方法

sep用于指定连接使用的分隔符。

8字符串与数字的转换

各种数值类型和字符串可以相互转换:

9字符串格式化

字符串格式化是指适当地加一些空格或其它字符等形式对字符串的处理,当然也是生成一个新的字符串。

9.1字符串“对齐”的对象方法

以下对象方法可以生成指定宽度(长度)的字符串,并在给定的宽度内对齐原字符串的位置,其余部分用空格填充。

(n)得到将s串居中的长度为n的字符串,空格填充(n)得到将s串居左的长度为n的字符串,空格填充(n)得到将s串居右的长度为n的字符串,空格填充

9.2与C语言一致的使用点位符(%?)的格式化方式

前面有用%号引导占位符,后面用变量或表达式去替换前面的占位符,形成一个表达式输出

9.3字符串的format方法

s="The{}of2+3is{}"

("result",2+5)可以生成:

Theresultof2+3is7

s描述了结果字符串的基本形式(模式),其中的{}称为替换域,它们将分别被format中的实参表达式产生的字符串替代。

在{}中还可以包含域名、字符类型、宽度,填充符号等内容,如:

{1:-10s}字符串形式,第1个实参宽10,表示右对齐,填充字符是-{price:10.2f}浮点形式,域名为price,宽10个字符,2个小数位{:10d}十进制整数形式,宽10字符,表示居左,用字符填充

10转义字符与元字符串

需要在字符中使用特殊字符(如容器类对象的界定符,键盘上不存在的字符,如制表符,换行符等)时,python用反斜杠(\)转义字符进行转义,也就是就这些字符当作普通字符使用,不作特殊用途。转义字符用反斜杠符号\引导,如'\n'表示换行,'\''转义单引号;

原始字符串用字母r引导,如‘r,htttp\\:?'keyword',others',把一个字符串中的每个字符全部当做普通字符使用,这样可以减少转义字符的使用,让文本显得更清晰。

更多内容请参考:

附原码:

--

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系