一、使用 format 来输出
当我们想要使用 print() 将变量和文字一起输出,就像这样:
# 已有变量:
name = "小明"
id = 123456
需要在终端输出以下内容:
姓名:小明,学号:123456
那么我们可以这样:
print('姓名: %s, 学号: %d' %(name,id))
也可以使用 format 函数,像这样:
print('姓名:{xingming}, 学号:{xuehao}'.format(xingming = name, xuehao = id))
或者将 format 和字典结合起来,像这样
site = {'xingming':name, 'xuehao':id}
print('姓名:{xingming}, 学号:{xuehao}'.format(**site))
二、字符串的格式化
重点:
一般格式为:{ :【填充】【对齐】【宽度】【,】【 .精度】【类型】}
1. 小数点(精度)的处理
e = 2.71828
print('{:.2f}'.format(e))
输出结果为:
2.72
这里,{:.2f} 表示保留小数点后两位
同理,我们可以不保留小数:
e = 2.71828
print('{:.0f}'.format(e))
输出结果为:
3
2. 正负号的处理
e = 2.71828
print('{:+.2f}'.format(e))
输出结果为:
+2.72
这里输出时保留了正号,那么负号也同理:
e = -2.71828
print('{:-.2f}'.format(e))
输出结果为:
-2.72
# 注:这其实没有必要,因为负数是一定会显示负号的
3. 居中,左对齐和右对齐
# 例如:
e = 2.71828
# 我需要:宽度为10,居中对齐,保留两位小数,空白位置用 x 填充
print('{:x^10.2f}'.format(e))
输出结果为:
xxx2.72xxx
# 宽度为10,向右对齐,保留两位小数,空白位置用 x 填充
print('{:x>10.2f}'.format(e))
输出结果为:
xxxxxx2.72
# 宽度为10,向左对齐,保留两位小数,空白位置用 x 填充
print('{:x<10.2f}'.format(e))
输出结果为:
2.72xxxxxx
4. 其它用法
指数记法,保留两位小数:
k = 12345678
print('{:.2e}'.format(k))
输出结果为:
1.23e+07
百分比形式,保留两位小数
x = 0.256666
print('{:.2%}'.format(x))
大数以逗号分隔
k = 12345678
print('{:,}'.format(k))
输出结果为:
>>> 12,345,678