首页 > 代码库 > Python:字符串操作总结

Python:字符串操作总结

所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值最大值)对字符串同样适用,且字符串是不可变的。

一、字符串格式化

转换说明符 [注]: 这些项的顺序至关重要

(1)%字符:标记转换说明符的开始

(2)转换标志(可选)

转换标志 作用
- 左对齐
+ 在转换值之前加上正负号
““(空白字符串) 正数之前保留空格
0 转换值位数不够用0填充

 

 

 

 

 

(3)最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。 [注]:如果是*,则宽度会从值元组中读出

(4)点(.)后跟精度值(可选):

    a、如果转换的是实数,精度值就表示出现在小数点后的位数

    b、如果转换的是字符串,精度值就表示最大字段宽度

    c、如果是*,那么精度值将会从元组中读出

(5)转换类型 [注]:红色为常用

转换类型 含义
d,i 带符号的十进制整数
o 不带符号的八进制整数
u 不带符号的十进制整数
x 不带符号的十六进制整数(小写)
X 不带符号的十六进制整数(大写)
e 科学计数法表示的浮点数(小写)
E 科学计数法表示的浮点数(大写)
f,F 十进制浮点数
g 如果指数大于-4或者小于精度值则和e相同,其他情况与f相同
G 如果指数大于-4或者小于精度值则和E相同,其他情况与F相同
C 单字符(接受整数或者单字符字符串)
r 字符串(使用repr转换的任意Python对象)
s 字符串(使用str转换的任意Python对象)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Examples:

1 pi=3.1415926
2 print(%10f %pi) #宽度为10
3 print(%10.2f %pi) #宽度为10,精度为2
4 print(%+10.2f %pi) #宽度为10,精度为2,数字前加正负号
5 print(%0+10.2f %pi) #宽度为10,精度为2,数字前加正负号,并用0而非空格来填充
6 print(%-+10.2f %pi) #宽度为10,精度为2,数字前加正负号,并且左对齐

技术分享

1 name=Tomwenxing
2 print(%20s %name) #宽度为20
3 print(%20.3s %name) #宽度为20,精度为3
4 print(%-20.3s %name) #宽度为20,精度为3,左对齐

技术分享

1 name=Tomwenxing
2 print(%-*.*s %(20,3,name)) #使用*作为字段宽度或精度

技术分享

[注]:字典的格式化字符串

在每个转换说明符中的%字符后面,可以加上键(用圆括号括起来的),后面再跟上其他说明元素。但以这种方式使用字典时,只要所有给出的键值都能在字典中找到,就可以使用任意数量的转换说明符。

1 phonebook={Beth:9012,Alice:2341,Cecil:3258}
2 message="Cecil‘s phone number is %(Cecil)s" %phonebook
3 print(message)

 

Python:字符串操作总结