Python - 输出格式 (学习小结)
利用现代手段,创建学习家园
关注他
1 人赞同了该文章
Python 输出格式
我们常说的输出格式分两种含义:
# 一种是指数据在屏幕上的显示位置,包括对齐/换行/隔行等
# 一种是指数据自身以什么格式输出,包括进制类型/有效数字/小数保留位等
【一、就数据显示位置而言】
1.通过ljust(),center(),rjust()函数实现输出左、中、右对齐字符串
默认状态不带参数则以空格填充(文字符号数 + 空格字符数 = 输出字符数)
print('|',"数据".ljust(30),'|') #左对齐
print('|',"数据".center(30),'|') #居中对齐
print('|',"数据".rjust(30),'|') #右对齐
函数带参数,以参数作为填充字符
print('|',"标题".center(30,'='),'|') #居中对齐
print('|',"标题".rjust(30,'='),'|') #右对齐
2.用format()函数格式化实现左、中、右对齐
print('|',format('测试数据','=>30"),'|') #左对齐
print('|',format('测试数据','=^30"),'|') #居中对齐
print('|',format('测试数据','=<30"),'|') #右对齐
print('|',format("字符串",">30"),'|') #左对齐
print('|',format("字符串","^30"),'|') #居中对齐
print('|',format("字符串","<30"),'|') #右对齐
【二、就数据本身格式而已】
print('%o' % 30) # 八进制转换# 24
print('%d' % 30) # 十进制转换# 30
print('%x' % 30) # 十六进制转换# 14
print('%f' % 3.33) # 小数形式显示数据,默认保留6位小数#|3.330000
print('%.1f' % 3.33) # 小数形式显示数据,保留1位小数#|3.3
print('%e' % 3.33) # 科学计数法显示数据,默认保留6位小数#|3.330e+00
print('%g' % 3333.3333) # 小数形式显示数据,默认保留6位有效数字#|3333.33
print('%8g' % 2222.2222) # 小数形式显示数据,保留8位有效数字#| 2222.22
print('%9g' % 2222.2222) # 小数形式显示数据,保留2位有效数字#| 2222.22
# 总共占位9位,前面空格2“ ” + “2222” + “.” + “22”
print('%2g' % 2222.2222) # 小数形式显示数据,保留2位有效数字#|2222.22
# 并非22.22,那样数值不等,也不是 2.2e+03 这样
【三、数据格式方法 - round()语句】
round(number[, ndigits])
参数:
number:数字表达式
ndigits:保留小数位数(含最后四舍五入位),默认为0
返回值:
返回保留n位小数的number值
round()函数只返回一个参数:
不指定位数的时候,返回最靠近的整数(舍入)
指定取舍小数位时,一般用四舍五入规则
遇到取舍位数字为5时,
若要取舍位数字前一位为奇数则舍弃,
若要取舍位数字前一位为偶数则向上取舍。
a1 = round(1.1235) # 四舍五入,不指定位数,取整
a2 = round(1.1235,3) # 取3位小数,5前3为奇数,下舍
a3 = round(1.1245,3) # 取3位小数,5前2为偶数,上入
a4 = round(1.5)
a5 = round(2.5)
a6 = round(1.345,2)
a7 = round(2.345,2) # a7 打印结果和上面说法不太吻合,不明原因,需验证
for i in range(7):
exec( 'print( a{} )'.format( i+1 ) )
#【注】exec()函数可包含运行语句