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.实例
#coding=utf-8
"""
可以指定所需长度的字符串的对齐方式:
< (默认)左对齐
> 右对齐
^ 中间对齐
= (只用于数字)在小数点后进行补齐
"""
print "1: |{0:>10},".format("wangyu")
print "2: |{0:4.2f}".format(1.1415926)
print "3: |",format(1.1415926,"<10.2f")
print "4: |{0:<10},{1:<15}".format("wangyu",1.1415926)
print "5: |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: |{0:b}".format(3)
print "7: |{0:c}".format(3)
print "8: |{0:d}".format(3)
print "9: |{0:o}".format(3)
print "10: |{0:x}".format(3)
print "11: |{0:e}".format(3.75)
print "12: |{0:g}".format(3.75)
print "13: |{0:n}".format(3.75) #浮点数
print "14: |{0:n}".format(3) #整数
print "15: |{0:%}".format(3.75)
#输入形式的控制format
a = int(raw_input("a:"))
b = int(raw_input("b:"))
print "16: |%*.*f" % (a, b, 1.1415926)
print "17: |{array[2]}".format(array=range(10))
print "18: |{attr.__class__}".format(attr=0)
print "19: |{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 2008 07: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%
https://my.oschina.net/dillan/blog/133877
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Qt---设置全局字体
- 下一篇: 陈焕生:深入理解Oracle 的并行执行