以下是一些简单的关于格式化输出的方法,具体解释在代码注释中
一.小数、有效数字、百分号
1.直接使用模板保留
a = 3210.23456
print('%f' % a) # 默认保留六位小数 3210.234560
print('%.2f' % a) # 保留两位小数 3210.23
print('%.2g' % a) # 保留三位有效数字 3.2e+03
print('%.2f%%' % (a*100)) # 添加百分号 321023.46%
2.使用format
a = 1.23456
print('{:.3f}'.format(a)) # 保留三位小数 1.235
print('{:.3%}'.format(a)) # 保留三位小数并加上百分号 123.456%
二、字符串的格式化
1.使用模板
name = 'Wilia'
age = 12
print("My name is %s,I'm %d years old." % (name, age))
# My name is Wilia,I'm 12 years old.
print('%10s' % name) # 占10个字符空间 ' Wilia'
print('%.2s' % name) # 截取字符串前两位 'Wi'
2.使用format
与上述略微不同的是,在保留固定个字符长度时,直接使用模板的方法是在字符串前面补齐空格,而format是在字符串后面补齐空格。
a = 'hello'
b = 'world'
print('{} {}'.format(a, b)) # hello world
print('{0} {1} {0}'.format(a, b)) # hello world hello
print('{:10s} {:.2s}'.format(a, b)) # 'hello wo'
3.f表达式 神技!
如果希望在f表达式中格式化输出保留小数,只需在变量名后面加上:和格式化模板即可。
name = 'Wilia'
age = 12
height = 175.757575
print(f"My name is {name},I'm {age} years old,My rise is {height:.2f}")
# My name is Wilia,I'm 12 years old,My rise is 175.76