字符串格式化是指使用特定方法将指定的字符串转换为想要输出的格式。常用格式化方法如下,分别为 占位符(%)和 format函数方式。
1、占位符(%)
1.1、整数占位符%d
单个占位符
通用形式如下,左侧是占位符格式(仔细观察:字符串里蓝色的%d表示占位符,字符串后面蓝色部分%(96),表示使用整数96对占位符%d进行替换),右侧是输出结果:
代码演示:
# 未格式化,输出原内容,%d没有被替换
s1 = '我的年龄是:%d'
print('s1:',s1)
# 整数格式化,遵循替换格式,字符串里面一个%,字符串后面紧跟着一个%
# 替换成功
s2 = '我的年龄是:%d' % (18)
print('s2:',s2)
# 整数格式化,使用s1变量,进行格式化,替换成功
s3 = s1 % (36)
print('s3:',s3)
输出结果:
s1: 我的年龄是:%d
s2: 我的年龄是:18
s3: 我的年龄是:36
多个占位符
左侧是占位符格式,注意观察,字符串中有两个蓝色%d,表示有两个占位符;字符串后面蓝色部分%(18,96),小括号()中有两个数字,以英文逗号隔开,这两个数字依次替换前面的两个占位符。
代码演示:
s = '我年龄是:%d。我的班级是:%d。我的分数是:%d'
s = s % (24,2,149)
print(s)
输出结果:
我年龄是:24。我的班级是:2。我的分数是:149
占位符补全
左侧是占位符格式,注意观察,字符串中第二个蓝色%03d,表示输出为3位数,不够3位数使用数字0补全,大于3位数,无影响。给了数字8,是1位数,长度不够,使用数字0补全,输出为:008。
# %和d之间给格式:03,表示输出3位数,不够3位数,则使用0补全
# %和d之间给格式:05,表示输出5位数,不够5位数,则使用0补全
s = '我年龄是:%d。我的班级是:%03d。我的分数是:%d'
s1 = s % (24,2,149)
s2 = s % (18,81,132)
s3 = s % (36,256,99)
s4 = s % (10,1024,-10) # 大于3位数,无影响
print(s1)
print(s2)
print(s3)
print(s4)
# 输出5位数
print('我年龄是:%d。我的班级是:%05d。我的分数是:%d' % (88,1,100))
输出结果:
我年龄是:24。我的班级是:002。我的分数是:149
我年龄是:18。我的班级是:081。我的分数是:132
我年龄是:36。我的班级是:256。我的分数是:99
我年龄是:10。我的班级是:1024。我的分数是:-10
我年龄是:88。我的班级是:00001。我的分数是:100