摘要: 字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。语法如下: format_string % string_to_conv...
字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。语法如下:
format_string % string_to_convert
format_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来。
字符串格式化符号 |
|
格式化符号
|
说明
|
%c
|
转换成字符(ASCII 码值,或者长度为一的字符串)
|
%r
|
优先用repr()函数进行字符串转换(Python2.0新增)
|
%s
|
优先用str()函数进行字符串转换
|
%d / %i
|
转成有符号十进制数
|
%u
|
转成无符号十进制数
|
%o
|
转成无符号八进制数
|
%x / %X
|
(Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大 |
%e / %E
|
转成科学计数法(e / E控制输出e / E)
|
%f / %F
|
转成浮点数(小数部分自然截断)
|
%g / %G
|
%e和%f / %E和%F 的简写
|
%%
|
输出%
|
字符串格式化输出举例:
charA = 65
charB = 66
print("ASCII码65代表:%c" % charA)
print("ASCII码66代表:%c" % charB)
Num1 = 0xEF3
Num2 = 0xAB03
print('转换成十进制分别为:%u和%u' % (Num1, Num2))
Num3 = 1200000
print('转换成科学计数法为:%e' % Num3)
输出:
ASCII码65代表:A
ASCII码66代表:B
转换成十进制分别为:3827和43779
转换成科学计数法为:1.200000e+06
当然,还有一些辅助符号,如下表所示:
字符串格式化符号 |
|
辅助符号
|
说明
|
*
|
定义宽度或者小数点精度
|
-
|
用做左对齐
|
+
|
在正数前面显示加号(+)
|
在正数前面显示空格
|
|
#
|
在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”)
|
0
|
显示的数字前面填充“0”而不是默认的空格
|
m.n
|
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
|
注意:辅助符号要在百分号(%)和格式化符号之间。
辅助符号举例:
Num1 = 108
print("%#X" % Num1)
Num2 = 234.567890
print("%.2f" % Num2)
输出:
0X6C
234.57