本文章内容为我在学习Python时对print()函数的格式化输出内容的一点总结。
print()函数格式化输出
print()函数支持格式化输出,有两种格式化方法可以使用,一种是以“%”的方式格式化输出;
另一种是通过format()函数格式化输出。
1 “%” 格式化输出
格式化文本可以用“%s”代表字符串,“%d”代表整数,“%f”代表浮点数:
示例程序如下:
score=99
print("小明的数学成绩: %d" % score)
####
小明的数学成绩: 99
print("%5s的数学成绩:%5.2f" %("Jenny",95))
print("%5s的数学成绩:%5.2f" %("Andy",80.2))
####
Jenny的数学成绩:95.00
Andy的数学成绩:80.20
例子:将整数按不同进制数输出
num=100
print("数字%s 的浮点数: %5.1f" %(num,num))
print("数字%s 的八进制: %o" %(num,num))
print("数字%s 的十六进制:%x" %(num,num))
print("数字%s 的二进制:%s" %(num,bin(num)))
####
数字100 的浮点数: 100.0
数字100 的八进制: 144
数字100 的十六进制:64
数字100 的二进制:0b1100100
2. format()函数输出
相对于%格式化的方式,format()函数更加灵活:
format()具有相当弹性,它有两大优点:
- 不需要理会参数数据类型,一律用{}表示。
- 可以使用多个参数,同一个参数可以多次输出,位置可以不同。
例如:
print("{0} 今年 {1}. ".format("王小明",18))
####
王小明 今年 18.
也可以用参数名称来取代对应的参数,例如:
print("{name} 今年 {age}. ".format(name="王小明",age=18))
另外,也可以搭配“^”,“<”,“>”符号加上字段宽度来让字符串居中,左对齐或右对齐:
print("{0:10}: {1:_^10}".format("Jennifer",95))
print("{0:10}: {1:>10}".format("Brian",87))
print("{0:10}: {1:*<10}".format("Jolin",100))
####
Jennifer : ____95____
Brian : 87
Jolin : 100*******
一个结合input()的简单案例
name=input("请输入姓名:")
che_grade=input("请输入语文成绩:")
math_grade=input("请输入数学成绩:")
print("{0:10}{1:>4}{2:>5}".format("姓名","语文","数学"))
print("{0:<10}{1:5}{2:7}".format(name,che_grade,math_grade))
####
请输入姓名:王小明
请输入语文成绩:88
请输入数学成绩:99
姓名 语文 数学
王小明 88 99