第四章

第四章 字符串

  1. UTF-8编码是“可变长编码”,它可以使用1~4字节表示一个符号,根据不同的符号而变化字节长度。UTF-8 编码以一字节表示英语字符(兼容ASCII),以3字节表示中文,还有一些语言使用2字节或4字节。注意: Unicode编码中-一个中文字符占2字节,而UTF-8编码中一个中文字符占3字节。从Unicode到UTF-8并不是直接对应,而是要经过一些算法和规则来转换的。

  2. GB2312是我国制定的中文编码,GBK是对GB2312的扩充,CP936是微软公司在GBK基础上开发的Windows下的中文编码方式。这些编码均使用2字节表示中文。

  3. Python3 支持两种类型字符串:str类型(支持Unicode编码)和bytes类型,而且str类型和bytes类型可以相互转换。通过help(str),发现str类里有一个encode( )方法。str类型的字符串可以通过该方法编码成为bytes类型的字符串。通过help(bytes),发现bytes类恰好有个decode( )方法。
    bytes类型的字符串可以通过该方法解码成为str类型的字符串。另外,我们还会发现str类和bytes类拥有几乎一模一样的方法列表,除了encode( )和decode( )。

  4. 字符串构造
    在Python中,字符串的构造主要通过两种方法来实现,一是使用srt函数,二是用单引号、双引号或三引号。在Pyhon中,使用引号是种非常便捷的构造字符串方式。
    (1)单引号或双引号构造字符串
    在用单引1号或双引号构造字符申时,要求引号成对出现。
    (2)单双引号构造字符串的特殊用法
    如果代码中的字符串包含了单引号,且不用转义字符,那么整个字符串就要用双引号构造,否则就会出错。
    如果代码中的字符串包含了双引号,且不用转义字符,那么整个字符中要用单可9
    (3)字符串中引号的转义字符串中引号的转义
    反斜线“”对字符串中的引号进行了转义,表示反斜线后的单引号是字符串中的的一个字符,而不是字符串的构造字符。
    (4)转义字符转义字符以“"开头,后接某些特定的字符或数字。
    第四章

  5. 字符串格式化
    (1)%符号格式化字符串
    字符串格式化涉及两个概念:格式和格式化,其中格式以%开头,格式化运算符用%表示用对象代替格式串中的格式,最终得到一个字符串。
    ①字符串格式的书写
    (1) [ ]中的内容可以省略。
    (2)简单的格式是%加格式字符, 如%f、%d、%c等。
    (3)当最小宽度及精度都出现时,它们之间不能有空格,格式字符和其他选项之间也不能有空格,如%8.2f。
    ②常用格式字符的含义
    第四章
    ③format()方法格式化字符串
    format( )方法是通过{ }和:来代替传统%方式。

  6. 字符串截取
    字符事的截取就是取出字符事中的子申,截取有两种方法:一种是索合引srt [ index ] 取出单个字符;另一种是切片str[ [ sart ],[ end ]:[ step ] ] 取出一片字符。
    切片方式与列表部分介绍字符串中字符的索引跟列表一样,可以双向索引。
    第四章

  7. 字符串常用内置函数
    (1)len( ) 字符串长度
    (2)max( ) 最大字符
    (3)min( ) 最小字符
    (4)ord( ) 获取该字符的unicode码
    (5)chr( ) 把编码转换为对应的字符
    (6)sorted( ) 排序(ASCII码)
    ① center( )、Ijust( )、rjust( )
    fllchar:填充的字符,默认为空格。
    功能:返回一个宽度为width的新字符串,原字符串居中(左对齐或右对齐)出现在重字符串中,如果width大于字符串长度,则使用filchar进行填充。
    ② lower( ) ,upper( )
    lower( )方法将大写字母转换为小写字母,其他字符不变,并返回新字符串。upper( )方法将小写字母转换为大写字母,其他字符不变,并返回新字符串。经常用这两种方法解决有关不区分大小写问题。
    ③capitalize( )、tilele( )、swapcase( )
    capitalize( )方法将字符串首字母转换为大写形式,其他字母转换为小海写形式。titele( )方法将每个单词的首字母转换为大写形式,其他部分的字母转换为小写形式。 swapcase( )字符将大小写互换。均返回新字符串,原字符串对象不做任何修改。
    ④ islower( ) 、isupper( )、isdigit( )
    功能:测试字符申是否为小写、大写、数字。如果是,则返回True,否则返回False。
    ⑤find( ) 、rfind( )
    格式:s. find(sub[,start[, end]] )
    s. rfind(sub[, start[, end]] )
    说明:sub:字符串(子串)。
    start:开始位置。
    end:结束位置。
    查找范围start开始,end结束,不包括end。
    功能:在一个较长的字符串S中,在[start,end)范围内查找并返回子串sub首次出现的位置索引,如果没有找到则返回-1.默认范围是整个字符串。其中find( )方法从左往右查找,rfind( )方法从右往左查找。
    ⑥ count( )
    格式: s. count(sub[,start[, end]] )
    功能:在一个较长的字符串S中,在找并返回Cstart,end)范围内子串sub出现的次数,如果不存在则返回0。默认范围是整个字符串。
    ⑦split()
    功能:以指定字符为分隔符,从左往右将字符串分割开来,并将分割后的结果组成列表返回。如果字符串中的某种字符出现0次或多次,可以利用split( )方法,根据该字符把字符串分离成多个子串组成的列表。
    ⑧strip( )
    strip( )方法去除字符串两侧的空白字符或指定字符,并返回新字符串。