format方法
format()功能很强大,它把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替C语言中的‘%’。
位置映射
print("{}{}{}".format('123',456,'789'))
#输出为
#123456789
123对应第一对{ }
456对应第二对{ }
789对应第三对{ }
关键字映射
print("{}{abc}{}".format('123',456,abc='xxx'))
#输出为
#123xxx456
abc可以被放置到任何一个{ }里面
元素访问
只有一组数据
print('{0[0]}{0[1]}{0[2]}'.format(('aaa','bbb','ccc')))
#输出如下
#aaabbbccc
拥有多组数据
print("{0[2]}{1[1]}".format(('111','222','333'),('444','555','666')))
#输出为
#333555
每个小括号是一个数组,数组内的元素靠逗号隔开。
print("{0[0]}-{1[1]}-{2[2]}".format('123','456','789'))
#输出如下
#1-5-9
也可把每一个引号括住的部分看作一个数组
其实两种都是一样的道理
但是,这些在我看来都不是format方法的最好的地方
控制数字输出时左中右补全
这个比较适用于元素访问和关键字映射,在元素(关键字)后面加上冒号
元素(关键字)+ :+左中右补全格式+精度(包括字符)
左
尖尖向左
print("{0[0]:<10}{0[1]}{0[2]}".format(('123')))
#输出如下
#1 23
print("{}{abc:<10}{}".format('123',456,abc='xxx'))
#输出如下
#123xxx 456
中
尖尖向上
print("{0[0]:^10}{0[1]}{0[2]}".format(('123')))
#输出如下
# 1 23
print("{}{abc:^10}{}".format('123',456,abc='xxx'))
#输出如下
#123 xxx 456
右
尖尖向右
print("{0[0]:>10}{0[1]}{0[2]}".format(('123')))
#输出如下
# 123
print("{}{abc:>10}{}".format('123',456,abc='xxx'))
#输出如下
#123 xxx456
补全
*使用星星,搭配左中右,星星放在左中右的前面
print("{0[0]:*<10}{0[1]}{0[2]}".format(('123')))
#输出如下
#1*********23
print("{}{abc:*<10}{}".format('123',456,abc='xxx'))
#输出如下
#123xxx*******456
精度
若是浮点数的话就需要在数据末尾加上f,否则会报错
精度在和补全一起用的时候优先考虑补全而忽略精度
替代format方法
写成如下格式
num=3.1415
print(f'num:.3 is *{num:10.3}')
print(f'num:10.3 is *{num:10.3f}')
总共输出10个字符的长度,在结尾加上f, 小数点后的数字就表示精度,不加f 就代表总共输出的个数。
居中,居左,居右的方式同上
结尾重申,一切关于某数格式的操作都在大括号内进行!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)