格式化输出:具有一定的格式,输出带有变量的字符串。
% (占位符)
不同的数据有不同的占位符类型
常用的占位符:
-
%s 字符串。只存放字符串
-
%d 整型。只存放整数。若有小数点,则会被去掉。
-
%f 浮点型。只存放小数,默认保留小数点后6位。
-
%.1f 保留一位小数
-
%.2f 保留两位小数
-
语法:(“…%d…%s”%(变量1,变量2))
name = 'Jim'
age = 18
height = 188.123
# 普通输出(字符串拼接)
# print("你好,我叫"+name+"今年"+str(age)+"岁了,身高"+str(height))
print("你好,我叫%s,今年%d岁了,身高%f"%(name,age,height))
print("你好,我叫%s,今年%d岁了,身高%.1f"%(name,age,height))
print("你好,我叫%s,今年%d岁了,身高%.2f"%(name,age,height))
print("你好,我叫%s,今年%d岁了,身高%f"%('Jim',18,188.123))
# 结果:你好,我叫Jim,今年18岁了,身高188.123000
# 你好,我叫Jim,今年18岁了,身高188.1
# 你好,我叫Jim,今年18岁了,身高188.12
# 你好,我叫Jim,今年18岁了,身高188.123000
format()
传入的数据类型是不限的,字符串、元组、列表都可以。
name = 'Jim'
age = 18
height = 188.123
print("你好,我叫{},今年{}岁了,身高{}".format(name,age,height))
print('你好,我叫{},我的身高是{},我的年龄是{}'.format('Jim',188.123,18)) # 从左到右, 一一对应的
自定义数据顺序:
- 语法:‘…{下标}…{下标}…’.format(数据1,数据2)
print('你好,我叫{0},我的身高是{2},我的年龄是{1}'.format('Jim',18,188.123))
# 结果:你好,我叫Jim,我的身高是188.123,我的年龄是18
f-format
- 语法:f"…{数据1}…{数据2}"
name = 'Jim'
age = 18
height = 188.123
print(f"大家好,我叫{name},我今年{age}岁,今年身高是{height}")
# 结果:大家好,我叫Jim,我今年18岁,今年身高是188.123
可以对大括号中的变量进行取值、增加、减少操作。
name = 'Jim'
age = 18
height = 188.123
print(f"大家好,我叫{name[1]},我今年{age-1}岁,今年身高是{height+5}")
# 结果:大家好,我叫i,我今年17岁,今年身高是193.123