Python格式限定符1.填充与对齐
它有着丰富的的“格式限定符”(语法是{}中带:号),⽐如:
填充与对齐
填充常跟对齐⼀起使⽤
^、<、>分别是居中、左对齐、右对齐,后⾯带宽度
:号后⾯带填充的字符,只能是⼀个字符,不指定的话默认是⽤空格填充
⽐如
In [15]: ‘{:>8}’.format(‘189’)
Out[15]: ’ 189’
In [16]: ‘{:0>8}’.format(‘189’)
Out[16]: ‘00000189’
In [17]: ‘{:a>8}’.format(‘189’)
Out[17]: ‘aaaaa189’
2.精度与类型f
精度常跟类型f⼀起使⽤
In [44]: ‘{:.2f}’.format(321.33345)
Out[44]: ‘321.33’
其中.2表⽰长度为2的精度,f表⽰float类型。
3.其他类型
主要就是进制了,b、d、o、x分别是⼆进制、⼗进制、⼋进制、⼗六进制。
In [54]: ‘{:b}’.format(17)
Out[54]: ‘10001’
In [55]: ‘{:d}’.format(17)
Out[55]: ‘17’
In [56]: ‘{:o}’.format(17)
Out[56]: ‘21’
In [57]: ‘{:x}’.format(17)
Out[57]: ‘11’
4.实例
'''
可以指定所需长度的字符串的对齐⽅式:
< (默认)左对齐
> 右对齐
^ 中间对齐
= (只⽤于数字)在⼩数点后进⾏补齐
'''
print'1:\t|{0:>10},'.format('wangyu')
print'2:\t|{0:4.2f}'.format(1.1415926)
print'3:\t|',format(1.1415926,'<10.2f')
print'4:\t|{0:<10},{1:<15}'.format('wangyu',1.1415926)
print'5:\t|User ID: {uid} Last seen: {last_login}'.format(uid='root',last_login = '5 Mar 2008 07:20')
'''格式化指⽰符可以包含⼀个展⽰类型来控制格式。
例如,浮点数可以被格式化为⼀般格式或⽤幂来表⽰。
'b' - ⼆进制。将数字以2为基数进⾏输出。
'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
'd' - ⼗进制整数。将数字以10为基数进⾏输出。
'o' - ⼋进制。将数字以8为基数进⾏输出。
'x' - ⼗六进制。将数字以16为基数进⾏输出,9以上的位数⽤⼩写字母。
'e' - 幂符号。⽤科学计数法打印数字。⽤'e'表⽰幂。
python格式化输出format'g' - ⼀般格式。将数值以fixed-point格式输出。当数值特别⼤的时候,⽤幂形式打印。
'n' - 数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插⼊数字分隔符。'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后⾯会有⼀个百分号。
'''
print'6:\t|{0:b}'.format(3)
print'7:\t|{0:c}'.format(3)
print'8:\t|{0:d}'.format(3)
print'9:\t|{0:o}'.format(3)
print'10:\t|{0:x}'.format(3)
print'11:\t|{0:e}'.format(3.75)
print'12:\t|{0:g}'.format(3.75)
print'13:\t|{0:n}'.format(3.75) #浮点数
print'14:\t|{0:n}'.format(3)    #整数
print'15:\t|{0:%}'.format(3.75)
#输⼊形式的控制format
a = int(raw_input('a:'))
b = int(raw_input('b:'))
print'16:\t|%*.*f' % (a, b, 1.1415926)
print'17:\t|{array[2]}'.format(array=range(10))
print'18:\t|{attr.__class__}'.format(attr=0)
print'19:\t|{digit:*^ 10.5f}'.format(digit=1.0/3)
'''
类和类型可以定义⼀个__format__()⽅法来控制怎样格式化⾃⼰。
它会接受⼀个格式化指⽰符作为参数:
'''
def__format__(self, format_spec):
if isinstance(format_spec, unicode):
return unicode(str(self))
else:
return str(self)
1:      |    wangyu,
2:      |1.14
3:      | 1.14
4:      |wangyu    ,1.1415926
5:      |User ID: root Last seen: 5 Mar 200807:20 6:      |11
7:      |
8:      |3
9:      |3
10:    |3
11:    |3.750000e+00
12:    |3.75
13:    |3.75
14:    |3
15:    |375.000000%

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。