格式化输出

  • %s 字符串
  • %d 有符号的十进制整数
  • %f 浮点数
  • %06d 表示输出的整数显示位数,不足以0补全,超出则原样输出
  • %2f 表示小数点后显示的小数位数
age = 18  # 整数 %d
print("我今年%d岁" % age)  
  
name = "Tom"  # 字符串 %s
print("我的名字是%s" % name)  
  
weight = 65.5  # 浮点数 %s
print("我的体重是%f" % weight)  
# %。2f 表示只取2位小数  
print("我的体重是%.2f" % weight)

# %03d表示给补0到三位数:我的学号是001  
stu_id = 1  
print("我的学号是%03d" % stu_id)  
  
# 超过3位的原样输出:我的学号是001  
stu_id2 = 10000  
print("我的学号是%03d" % stu_id2)

age = 18  # 整数 %d
name = "Tom"  # 字符串 %s
weight = 65.5  # 浮点数 %s
stu_id = 1  # 整数  
  
print("我的名字是%s,今年%s岁了" % (name, age))  
# 我的名字是Tom,今年18岁了  

print("我的名字是%s,明年%s岁了" % (name, age + 1))  
# 我的名字是Tom,明年19岁了  

print("我的名字是%s,今年%d岁了,体重%f公斤,学号是%03d" % (name,age,weight,stu_id))  
# 我的名字是Tom,今年18岁了,体重65.500000公斤,学号是001

所有数据都可以用 %s 来表示,因为都在双引号中当字符串格式处理。

f'表达式'

f'{表达式}' 格式化是python 3.6 新增的格式化方法,更简单易读。

age = 18  # 整数 %d
name = "Tom"  # 字符串 %s
weight = 65.5  # 浮点数 %s  

print("我的名字是%s,今年%s岁了,体重%s公斤" % (name, age, weight))  
# 我的名字是Tom,今年18岁了,体重65.5公斤  

print(f'我的名字是{name},今年{age}岁了,体重{weight}公斤。')  
# 我的名字是Tom,今年18岁了,体重65.5公斤

转义字符

  • \n 换行,反斜杠加n
  • \t 制表符,一个tab距离(4个空格)

print 结束符

为什么两个print()会换行输出?因为print()默认自带 end="\" 这个换行符。

也可以用其它符号代替。