首页 > 编程 > Python > 正文

Python 格式限定符

2019-11-08 00:51:08
字体:
来源:转载
供稿:网友

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.实例

#coding=utf-8'''可以指定所需长度的字符串的对齐方式:< (默认)左对齐> 右对齐^ 中间对齐= (只用于数字)在小数点后进行补齐'''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'表示幂。'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)#输入形式的控制formata = 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.143: | 1.14 4: |wangyu ,1.1415926 5: |User ID: root Last seen: 5 Mar 2008 07:206: |117: |8: |39: |310: |311: |3.750000e+0012: |3.7513: |3.7514: |315: |375.000000%

https://my.oschina.net/dillan/blog/133877


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表