格式化显示
以下整理自 python字符串格式化
*输出结果的空格在md预览中没效果(用代码块三个撇号就可以保留格式了)
一、使用格式化符来格式化字符串:
Python支持的所有格式化符:
格式化符 意义
'd' 返回要格式化对象的十进制表示,如果可以
'i' 返回要格式化对象的十进制表示,如果可以
'o' 返回要格式化对象的八进制表示,如果可以
'u' 同格式化符'd'
'x' 返回要格式化对象的十六进制表示,如果可以【如果要求的前导,使用'0x'】
'X' 返回要格式化对象的十六进制表示,如果可以【如果要求的前导,使用'0X'】
'e' 返回要格式化对象的浮点的科学计数的表示,如果可以【使用'e'】
'E' 返回要格式化对象的浮点的科学计数的表示,如果可以【使用'E'】
'f' 返回要格式化对象的浮点数表示,如果可以
'F' 返回要格式化对象的浮点数表示,如果可以
'g' 使用小写字母科学计数格式,如果指数小于-4或不少于精度,否则返回十进制格式。
'G' 使用大写字母科学计数格式,如果指数小于-4或不少于精度,否则返回十进制格式。
'c' 对0-255之间的整数返回其对应的ASCII码字符(其它整数报错),或者返回单个字符本身
'r' 返回要格式化对象的__repr__()方法的返回值
's' 返回要格式化对象的__str__()方法的返回值
'%' 即每两个%显示一个
1.%s格式化符:
将要格式化的值表中对应位置的元素,格式化为字符串,如果值元素不是字符串,将自动调用该元素的__str__(),以得到其字符串表示。
[1]%ns决定对齐与填充:
n为整数;当n>0时,左填充,当n<0时,右填充。
>>> for i,x in enumerate(('one','two','three','four','five','six')):
print('%5s = %d'%(x,i))
one = 0
two = 1
three = 2
four = 3
five = 4
six = 5
[2]%.ns决定对字符串的截取:
n为正整数
>>> for i,x in enumerate(('one','two','three','four','five','six')):
print('%.3s = %d'%(x,i))
one = 0
two = 1
thr = 2
fou = 3
fiv = 4
six = 5
2.%d格式化符:
将任何Python对象转化为整数,如果转化失败,则报错。
[1]%nd:决定对齐与填充。
n为整数;当n>0时,左填充,当n<0时,右填充。
>>> print('%3d'%1.52`)
1
[2]%0nd:以数字0而不是默认的空格来作填充。
>>> print('%03d'%1.52)
001
[3]%+d:数字被转化后将保留正负号
>>> print('%+d'%1.52)
+1
>>> print('%+d'%-1.52)
-1
>>> print('%+3d'%1.52)
+1
>>> print('%+03d'%1.52)
+01
3.%r格式化符:
将任何Python对象转化成repr字符串,自动调用Python对象的__repr__()
[1]%nr:决定对齐与填充。
n为整数;当n>0时,左填充,当n<0时,右填充。
>>> print('Names = #%50r#'%(['C','CPP','CSharp','Java','Python']))
Names = # ['C', 'CPP', 'CSharp', 'Java', 'Python']#
>>> print('Names = #%-50r#'%(['C','CPP','CSharp','Java','Python']))
Names = #['C', 'CPP', 'CSharp', 'Java', '