python(四)字符串处理,格式化,显示颜色

一,字符串常用操作

 1.拼接字符串

      使用“+”运算符可完成对多个字符串的拼接

     

     注:字符串不允许与其他类型的数据拼接,正确的做法是将不同类型的字符串转换成相同类型的然后进行拼接。

 2.计算字符串的长度

      在python中,数字、英文、小数点、下划线和空格占一个字节,python默认的UTF-8编码下,一个汉字占3个字节。

      

   如果想要获取采用GBK编码(汉字占2个字节)的字符串长度,可以使用下面的代码:

    

 3.截取字符串   

   截取字符串可以采用切片的方法实现。语法格式如下:

   string[start:end:step]

    

 

 4.分割字符串

    str.split(sep,maxsplit)

   

    5.合并字符串  

   strnew = string.join(iterable)

   

 6.检索字符串

       (1) count()方法:用于检索指定字符串在另一个字符串中出现的次数,如果检索的字符串不存在,则返回0,否则返回出现的次数。nt语法格式如下:  str.count(sub[,start[, end]])

         参数说明;

         str:表示原字符串。

         sub:表示要检索的子字符串。

    start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。

    end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾

    

  (2)find()方法:该方法用于检索是否包含指定的子字符串。如果检索的字符串不存在,则返回-1,否则返回首次出现该子字符串时的索引。其语法格式如下:str.find(sub[,start[, end]])

    

 

     注:python的字符串对象还提供了rfind()方法,其作用与find的方法类似,只是从字符串右边开始查找

  (3)index()方法:与find方法类似,只不过使用index方法进行检索时,如果检索的字符串不存在会刨出异常。

  (4)startswith()方法:用于检索字符串是否以指定字符串开头。如果是则返回true,否则返回false。语法格式如下:str.startswith(prefix[, start[, end]])

    

 

   (5)endswith()方法:用于检索字符串是否以指定子字符串结尾。如果是则返回True,否则返回False。语法格式为:str.endswith(suffix[, start[, end]])

    

 

    7.字母的大小写转换

  (1) lower()方法:用于将字符串中的大写字母转换为小写字母。语法格式:str.lower()

    

 

   (2)upper()方法:用于将字符串中的小写字母转换为大写字母。语法格式:str.upper()

   

    8.去除字符串中的空格和特殊字符

  (1)strip()方法:用于去掉字符串左、右两侧的空格和特殊字符,语法格式为:str.strip([chars])

    参数说明:

    str为要去除空格的字符串。

    chars:为可选参数,用于指定要去除的字符, 可以指定多个。

    

  (2)lstrip()方法:用于去掉字符串左侧的空格和特殊字符,语法格式如下:str.lstrip([chars])

      

  (3)rstrip()方法:用于去掉字符串右侧的空格和特殊字符,语法格式如下:str.rstrip([chars])

      

    9.格式化字符串

  (1)使用"%"操作符

    语法格式:‘%[-][+][0][m][.n]格式化字符’%exp

    参数说明:

    -:可选参数,用于指定左对齐,正数前方无符号,负数前面加负号。

    +:可选参数,用于指定右对齐,正数前方加正号,负数前面加负号。

    0:可选参数,表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)。

    m:可选参数,表示占有宽度。

    n:可选参数,表示小数点后保留的位数。

    格式化字符:用于指定类型。

         

  (2)使用字符串对象的format()方法

      语法格式:str.format(args)

      参数说明:

      str:用于指定字符串的显示样式(即模板)。

      args:用于指定要转换的项,如果有多项,则用逗号进行分隔。   

      下面重点介绍创建模板,在创建模板时,需要使用“{}”和“:”指定占位符,语法格式如下:

          

      参数说明:

      index:可选参数,用于指定要设置格式的对象在参数列表中的索引位置,索引值从0开始。如果省略,则根据值的先后顺序自动分配。

      fill:可选参数,用于指定空白处填充的字符。

      align:可选参数,用于指定对齐方式(值为“<”时表示内容左对齐;值为“>”时表示内容右对齐;值为“=”时表示内容右对齐,将符号放在填充内容的最左侧,且只对数字类型有效;值为“^”时表示内容居中),需要配合width一起使用。

      sign:可选参数,用于指定有无符号数(值为“+”表示正数加正号,负数加负号;值为“-”表示正数不变;负数加负号,值为空格表示正数加空格,负数加负号)。

      #:可选参数,对于二进制数、八进制数和十六进制数,如果加上#,表示会显示0b/0o/0x前缀,否则不显示前缀。

      width:可选参数,用于指定所占宽度。

.      precision:可选参数,用于指定保留的小数位数。

      type:可选参数,用于指定类型。

      format()方法中常用的格式化字符:

      

 

         

      注:当一个模板中,出现多个占位符时,指定索引位置的规范需统一,即全部采用手动指定,或者全部采用自动。

    10.字符串编码转换

    (1)使用encode()方法编码

         encode()方法为str对象方法,用于将字符串转换为二进制数据(即bytes),也称为“编码”,其语法格式为:str.encode([encoding="utf-8"][,errors="strict"])

      参数说明:

      str:表示要进行转换的字符串。

      encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8,如果想使用简体中文,也可以设置为gb2312。也只有着一个参数时,也可以省略前面的“encoding=”,直接编码。

      errors="strict":可选参数,用于指定错误处理方式,其可选择值可以是strict(遇到非法字符就会出现异常)、ignore(忽略非法字符)、replace(用“?”替代非法字符)或使用XML的字符引用等,默认值为strict

           

    注:在使用encode()方法时,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值。

  (2)使用decode方法解码

    decode()方法为bytes对象的方法用于将二进制数据转换为字符串,即将使用encode()方法转换的结果再转换为字符串,也成为“解码”。语法格式为:其语法格式为:bytes.decode([encoding="utf-8"][,errors="strict"])

    参数说明:

    bytes:表示要进行转换的二进制数据,通常是encode的方法转换结果。

    

    注:(1)在设置解码采用的字符编码时,需要与编码采用的字符编码一致。

           (2)在使用decode()方法时,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值

二,显示颜色

Print a string that starts a color/style, then the string, then end the color/style change with '\033[0m':

print('\033[6;30;42m' + 'Success!' + '\033[0m')

这样就可以输出 Success!

显示颜色格式:
\033[显示方式;字体色;背景色m String \033[0m

复制代码
-------------------------------------------
字体色     |       背景色     |      颜色描述
-------------------------------------------
30        |        40       |       黑色
31        |        41       |       红色
32        |        42       |       绿色
33        |        43       |       黃色
34        |        44       |       蓝色
35        |        45       |       紫红色
36        |        46       |       青蓝色
37        |        47       |       白色
-------------------------------------------
-------------------------------
显示方式     |      效果
-------------------------------
0           |     终端默认设置
1           |     高亮显示
4           |     使用下划线
5           |     闪烁
7           |     反白显示
8           |     不可见
-------------------------------
posted @ 2018-05-21 21:46  老僧观天下  阅读(287)  评论(0编辑  收藏  举报