1. 概述
字符串是指包含若干字符的容器结构。在python中,字符串属于不可变有序序列。使用单引号、双引号或三双引号作为定界符,并且不同的定界符之间可以互相嵌套。
2. 字符串编码格式
- ASCII 仅对10个数字、26个大小写英文字母及一些其他符号进行了编码。采用1个字节进行编码,最多只能表示256个符号
- UTF-8对全世界所有国家需要用到的字符进行了编码,以一个字节表示英语字符,以3个字节表示中文。
- GB2312是我国定制的中文编码,使用1个字节表示英语,2个字节表示中文
- GBK是GB2312的扩充,而CP936是微软在GBK的基础上开发的编码方式
不同的编码格式之间相差很大,采用不同的编码格式意味着不同的表示和存储形式。
python 3.x 默认使用UTF8编码格式,完全支持中文。在统计字符串长度时,无论是一个数字、英文字母,还是一个汉字,都按一个字符对待和处理。
encode() 方法表示使用指定的字符串编码格式编码
decode() 方法表示使用指定编码格式解码
3. 转义字符与原始字符串
转义字符是指,在字符串中某些特定的符号前加一个斜线之后,该字符将被解释为另一种含义,不再表示本来的字符。
在字符串前面加上字母R或r表示原始字符串。
4. 字符串格式化
python的字符串格式化有两种方式: % 和 format
% [-] [+] [0] [m] [n] 格式字符 % x,下面依次从左往右开始讲解
第一个%表示格式开始
[-] 表示 指定左对齐输出
[+] 对正数加正号
[0] 指定空位填0
[m] 指定最小宽度
[n] 指定精度
“格式字符” 指定类型
% 表示格式运算符
x 待转换的表达式
格式字符类型:
%s 字符串
%r 字符串
%c 单个字符(chr()函数转换)
%b 二进制整数
%d和%i 十进制整数
%u 十进制整数
%o 八进制整数
%x和%X 十六进制整数, 区别在于输出时大小写.
%e和%E 指数 (基底写为e或E)
%f和%F 浮点数
%g和%G 指数(e/E)或浮点数 (根据显示长度), 即%e和%f自动判断
%% 输出字符%
使用format()方法进行字符串格式化
字符串格式化方法format()提供了更加强大的功能
5. 字符串常用操作与方法
find() , rfind(),index(),rindex(),count()
split() rsplit() partition() rpartition()
join()方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串
lower() upper() caplitalize() title() swapcase()
replace() maketrans() translate()
maketrans()方法用来生成字符映射表,而translate()方法用力根据映射表中定义的对应关系转换字符串并替换其中的字符。使用这两个方法实现了凯撒加密算法。
strip() rstrip() lstrip()分别来删除两端、右端或左端连续的空白字符或指定字符。
startswith() endswith()这两个方法用来判断字符串是否以指定字符串开始或结束,可以接收两个整数参数来限定字符串的检测范围。
isalnum() isalpha() isdigit() isspace() isupper() islower()用来检测字符串是否为数字或字母、是否为字母、是否为整数字符、是否为空白字符、是否为大写字母以及是否为小写字母。
center() ljust() rjust() 这几个方法用于对字符串进行排版,原字符居中、左对齐或右对齐出现在新字符串中。
6. 字符串常量
标准库string提供了英文字母大小写、数字字符、标点符合等常量。
7. 中英文分词
扩展库jieba 和 shownlp 很好地支持了中文分词。在自然语言处理领域经常需要对文字进行分词,分词的准确度直接影响了后续文本处理和挖掘算法的最终效果
8. 汉字到拼音的转换
扩展库pypinyin 支持汉字到拼音的转换,并且可以和分词扩展库配合使用
来源:CSDN
作者:weixin_45700973
链接:https://blog.csdn.net/weixin_45700973/article/details/104739303