格式化输出

Posted istart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了格式化输出相关的知识,希望对你有一定的参考价值。

python格式化输出有2种,一种是%运算符,一种是字符串的formant方法

一、%运算符

运算符格式化字符串,在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
?
字符串格式代码

符号 说明
%s 字符串
%d 十进制(整数)
%f 浮点数
%x 十六进制整数
%o 八进制整数

?
字符串输出

符号 说明
- 指定左对齐
+ 表示数值总要带着符号
0 表示不补充空格,而是不充0
# 字符串左对齐,最小宽度为5,不足位用0补齐
print("%-5f" %3.14)
# 带负号,最小宽度10,不足位用0补齐
print("%+10s" %("-100"))
# 最小宽度10,保留2位小数点
print("%10.2f" %31.415926)
# 不指定字符串宽度,保留2位小数
print("%.2f" %3.14)
# 保留2位字符串
print("%.2s" %"lisi")

?

二、format()方法

另一种格式化字符串的方法是使用字符串的format()方法,
它会用传入的参数依次替换字符串内的占位符0、1……,不过这种方式写起来比%要麻烦得多:

# 保留1位小数
print("my name is 0, i am 1:.1f hight".format("lisi",177.48))

?

三、练习

练习:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,
并用字符串格式化显示出‘xx.x%‘,只保留小数点后1位:

grade_last_year = int(input("请输入小明去年的成绩:"))
grade_this_year = int(input("请输入小明今年的成绩"))
grade_pro = (grade_this_year - grade_last_year) / grade_last_year * 100
print("小明成绩提升了%.1f%%" %grade_pro)

ps:字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

以上是关于格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

基础知识 - Golang 中的格式化输入输出

Linux_069_awk格式化输出

%格式化输出

Python基本格式化输出

Python基本格式化输出

如何在mongo shell 中输出格式化时间?