字符串的格式化表达式
- 作用:
生成一定格式的字符串 - 运算符:
% - 语法格式:
格式化字符串 % 参数值
或
格式化字符串 % (参数值1,参数值2,….)
说明:
% 左侧为格式字符串
% 右侧为参数值,当有多个参数值时用括号()括起来,并用逗号 ()分隔 - 格式化字符串中以%开头的为占位符,占位符的位置将用参数值替换
示例:
- 作用:
fmt = "name: %s, age: %d`"
s = fmt % ('weiming', 35)
print(s)
# 结果为 name: weiming, age: 35
格式化字符串中的占位符和类型码
%s 字符串,使用str(x)将x转换为字符串
%r 字符串,使用repr(x)将x转换为字符串
%c 整数转为单个字符
%d 转为十进制整数
%o 转为八进制整数
%x 转为十六进制整数(a-f小写)
%X 转为十六进制整数(A-F大写)
%e 指数型浮点数(e小写)如 2.9e+10
%E 指数型浮点数(E大写)如 2.9E+10
%f, %F 浮点数(小数形式)
%f, %G 十进制浮点数或指数浮点自动转换
%% 等同于一个 % 号- 占位符和类型码之间的格式化语法:
% [- + 0 宽度.精度] 类型码
默认按照上面这个顺序填写多个参数
- :表示左对齐
默认右对齐
\ + :显示 + 号
0 : 左侧空白位置用0补齐
宽度:整个字符串的字符个数
精度:保留小数点后多少位(默认6位)
示例:
- 占位符和类型码之间的格式化语法:
"%10d" % 123 # ' 123'
"%-10d" % 123 # "123 "
"%+10d" % 123 # " +123"
'%10s' % 'abc' # " abc"
'%-5s' % "abc" # "abc "
"%010d" % '123' # "0000000123"
"%7.3f" % 3.1215926 # " 3.142"
"%07.3f" % 3.1415926 # "003.142"