Python 字符串总结
对字符串的使用方法进行总结。
基础操作
1、创建字符串
Python中的字符串用引号’或者”包括起来。
- 普通字符串 s = ‘strstr’
- 空字符串 s = ”
2、修改字符串
字符串是不可修改的,类似元组。如:s = ‘abc’ s[0]=’z’会报错。
如果要增加或减少字符可通过建立一个新的字符串来实现,如:
s = 'abc'
s1 = s[0:2] #输出 s1 = 'ab'
s2 = s + 'def' #输出 s2 = 'abcdef'
3、访问字符串
- s[index]
通过字符在字符串中的位置index获取
字符串的方法及注释
方法 | 说明 |
capitalize() | 把字符串的第一个字符改为大写 |
casefold() | 把整个字符串的所有字符改为小写 |
center(width) | 将字符串居中,并使用空格填充至长度width的新字符串 |
count(sub[,start[,end]]) | 返回sub在字符串里边出现的次数,start和end参数表示范围,可选。 |
encode(encoding='utf-8', errors='strict') | 以encoding指定的编码格式对字符串进行编码。 |
endswith(sub[,start[,end]]) | 检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选。 |
expandtabs([tabsize=8]) | 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8。 |
find(sub[,start[,end]]) | 检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选。 |
index(sub[,start[,end]]) | 跟find方法一样,不过如果sub不在string中会产生一个异常。 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。 |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。 |
isdecimal() | 如果字符串只包含十进制数字则返回True,否则返回False。 |
isdigit() | 如果字符串只包含数字则返回True,否则返回False。 |
islower() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False。 |
isnumeric() | 如果字符串中只包含数字字符,则返回True,否则返回False。 |
isspace() | 如果字符串中只包含空格,则返回True,否则返回False。 |
istitle() | 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False。 |
isupper() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False。 |
join(sub) | 以字符串作为分隔符,插入到sub中所有的字符之间。 |
ljust(width) | 返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。 |
lower() | 转换字符串中所有大写字符为小写。 |
lstrip() | 去掉字符串左边的所有空格 |
partition(sub) | 找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串', '', '') |
replace(old,new[,count]) | 把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。 |
rfind(sub[,start[,end]]) | 类似于find()方法,不过是从右边开始查找。 |
rindex(sub[,start[,end]]) | 类似于index()方法,不过是从右边开始。 |
rjust(width) | 返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。 |
rpartition(sub) | 类似于partition()方法,不过是从右边开始查找。 |
rstrip() | 删除字符串末尾的空格。 |
split(sep=None, maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。 |
splitlines(([keepends])) | 按照'\n'分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行。 |
startswith(prefix[,start[,end]]) | 检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数可以指定范围检查,可选。 |
strip([chars]) | 删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选。 |
swapcase() | 翻转字符串中的大小写。 |
title() | 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
translate(table) | 根据table的规则(可以由str.maketrans('a','b')定制)转换字符串中的字符。 |
upper() | 转换字符串中的所有小写字符为大写。 |
zfill(width) | 返回长度为width的字符串,原字符串右对齐,前边用0填充。 |
字符串格式化符号含义及转义字符含义
格式化符号含义
符 号 | 说 明 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化定点数,可指定小数点后的精度 |
%e | 用科学计数法格式化定点数 |
%E | 作用同%e,用科学计数法格式化定点数 |
%g | 根据值的大小决定使用%f活%e |
%G | 作用同%g,根据值的大小决定使用%f或者%E |
使用方法:
- 仅有一个空时: print ('xxxx%c'%97)
- 多个空时:print ('%c %c %c'%(97, 98, 99)) 需要使用元组
格式化操作符辅助指令
符 号 | 说 明 |
m.n | m是显示的最小总宽度,n是小数点后的位数 |
- | 用于左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X' |
0 | 显示的数字前面填充 '0' 取代空格 |
使用方法:
- m.n: print('%5.5f' % 27.55),此时要求,小数点后要有5位数,若不足会自动补全,得到 :'27.55000'
- : print( '%-010d' %27.55),此时若无 '-' 号时,将得到:'0000000027',若有'-'号,则得到:'27'
- # :print('%#o' %12),简单易懂,转为8 or 16进制输出
字符串转义字符含义
符 号 | 说 明 |
\' | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\ | 反斜杠 |