目录
字符串的格式化
常见的格式字符
格式字符 | 说明 |
%s | 字符串 (采用str()的显示) |
%r | 字符串 (采用repr()的显示) |
%c | 单个字符 |
%b | 二进制整数 |
%d | 十进制整数 |
%i | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 指数 (基底写为e) |
%E | 指数 (基底写为E) |
%f、%F、%F | 浮点数 |
%g | 指数(e)或浮点数 (根据显示长度) |
%G | 指数(E)或浮点数 (根据显示长度) |
%% | 字符"%""%" |
例子:
>>> x = 1235
>>> so="%o" % x
>>> so
"2323"
>>> sh = "%x" % x
>>> sh
"4d3"
>>> se = "%e" % x
>>> se
"1.235000e+03"
>>> chr(ord("3")+1)
"4"
>>> "%s"%65
"65"
>>> "%s"%65333
"65333"
>>> "%d"%"555" #试图将字符串转换为整数进行输出,抛出异常
TypeError: %d format: a number is required, not str
>>> int('555') #可以使用int()函数将合法的数字字符串转换为整数
555
>>> '%s'%[1, 2, 3]
'[1, 2, 3]'
>>> str((1,2,3)) #可以使用str()函数将任意类型数据转换为字符串
'(1, 2, 3)'
>>> str([1,2,3])
'[1, 2, 3]'
format()方法
更加灵活,不仅可以使用位置进行格式化,还支持使用与位置无关的参数名字来进行格式化,并且支持序列解包格式化字符串
【 例1】
print("The number {0:,} in hex is: {0:#x}, the number {1} in oct is {1:#o}".format(5555,55))
输出:
The number 5,555 in hex is:0x15b3, the number 55 in oct is 0o67
解析:
{0:}或者{0}代表format(a0,a1,a2)中的a0,{0:#格式字符}即对a0进行格式化
【例2】
print("my name is {name}, my age is {age}, and my QQ is {qq}".format(name = "Dong Fuguo",age = 37,qq = "306467355"))
输出:
my name is Dong Fuguo, my age is 37, and my QQ is 306467355