Python 标准化输出
2019-04-29 本文已影响0人
Vector_Wan
一、 str.format()
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点。
1.在%方法中%s只能替代字符串类型,而在format中不需要理会数据类型;
2.单个参数可以多次输出,参数顺序可以不相同;
3.填充方式十分灵活,对齐方式十分强大;
4.官方推荐用的方式,%方式将会在后面的版本被淘汰。
使用
1、按照默认顺序,不指定位置
print("{} {}".format("hello","world") )
>> hello world
2、设置指定位置,可以多次使用
print("{0} {1} {0}".format("hello","or"))
>> hello or hello
3、使用字典格式化
person = {"name":"opcai","age":20}
print("My name is {name} . I am {age} years old .".format(**person))
>> My name is opcai . I am 20 years old .
4、通过列表格式化
stu = ["opcai","linux","MySQL","Python"]
print("My name is {0[0]} , I love {0[1]} !".format(stu))
>> My name is opcai , I love linux !
格式限定符
填充与对齐 ^ < > 分别代表居中,左对齐,右对齐,后面数字表示宽度,':' 后面带填充的字符,只能是一个字符,不指定的话默认空格.
有时间写一下这个例子
丑陋的cxm
精度与类型
暂时先放两个回头再补
image.png
print("{:.2f}".format(3.1415926)) #3.14
#.2表示长度为2的精度(指小数点后),f表示float类型
#表示进制,b,d,o,x分别表示二进制,十进制,八进制,十六进制
print("{:b},{:d},{:o},{:x}".format(63,63,63,63)) #111111,63,77,3f
用“,”还能做金额的千位分隔符。
print("{:,}".format(1234567890)) #1,234,567,890