字符串
ASCII码采用1个字节来对字符进行编码,最多只能表示256个符号。
UTF-8以3个字节表示中文
GB2312是我国制定的中文编码,使用1个字节表示英语,2个字节表示中文;GBK是GB2312的扩充,而CP936是微软在GBK基础上开发的编码方式。GB2312、GBK和CP936都是使用2个字节表示中文。
Python 3.x完全支持中文字符,默认使用UTF8编码格式,无论是一个数字、英文字母,还是一个汉字,都按一个字符对待和处理。(字符并非字节)
在Python中,字符串属于不可变序列类型,除了支持序列通用方法(包括分片操作)以外,还支持特有的字符串操作方法。
常用格式字符
格式字符
说明
%s
字符串 (采用str()的显示)
%r
字符串 (采用repr()的显示)
%c
单个字符
%b
二进制整数
%d
十进制整数
%i
十进制整数
%o
八进制整数
%x
十六进制整数
%e
指数 (基底写为e)
%E
指数 (基底写为E)
%f、%F、%F
浮点数
%g
指数(e)或浮点数 (根据显示长度)
%G
指数(E)或浮点数 (根据显示长度)
%%
字符"%""%"
字符串常用方法
find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;
index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次和最后一次出现的位置,如果不存在则抛出异常;
count()方法用来返回一个字符串在另一个字符串中出现的次数。
split()和rsplit()方法分别用来以指定字符为分隔符,将字符串左端和右端开始将其分割成多个字符串,并返回包含分割结果的列表;如果不指定分隔符,则字符串中的任何空白符号(包括空格、换行符、制表符等等)都将被认为是分隔符,返回包含最终分割结果的列表。split()和rsplit()方法还允许指定最大分割次数
partition()和rpartition()用来以指定字符串为分隔符将原字符串分割为3部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。
join()方法用于字符串连接,不推荐使用+运算符连接字符串,优先使用join()方法,因为join()方法效率更高。
lower()返回小写字符串
upper()返回大写字符串
capitalize()字符串首字符大写
title()每个单词的首字母大写
swapcase()大小写互换
replace()查找替换,类似于“查找与替换”功能
maketrans()方法用来生成字符映射表,而translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符,使用这两个方法的组合可以同时处理多个不同的字符,replace()方法则无法满足这一要求。
#创建映射表,将字符"abcdef123"一一对应地转换为"uvwxyz@#$" >>> table = ''.maketrans('abcdef123', 'uvwxyz@#$') >>> s = "Python is a greate programming language. I like it!" #按映射表进行替换 >>> s.translate(table) 'Python is u gryuty progrumming lunguugy. I liky it!'