所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值最大值)对字符串同样适用,且字符串是不可变的。
一、字符串格式化
转换说明符 [注]: 这些项的顺序至关重要
(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)
时间: 2024-10-19 18:29:03