格式化
将字符串中部分内容用占位符表示,再传入内容。
%占位符
%运算符用来格式化字符串,用作占位符。
常用占位符:%s
是字符串的占位符,%d
是整数的占位符,%f
是浮点数的占位符,%x
是十六进制整数。
字符串中有几个占位符,后面就要跟几个变量或者值,顺序要对应好。格式如下。
print("Hello, %s. I'm %s, I'm %d years old"%('world', 'Vicky',25))
>> Hello, world. I'm Vicky, I'm 25 years old
如果只有一个占位符,可以不用括号。
print('Hello, %s'%'world')
>> Hello, world
格式化整数和浮点数还可以指定是否补0和整数与小数的位数。%.2f
意思是保留两位小数的浮点数。
print('%02d'%5) # 2表示总宽度,0表示用0填充
>> 05
print('%.2f'%2.5566)
>> 2.56
如果字符串中原本就包含普通字符%,则需要转义,用%%
,则输出内容为%
。
print('本月增长率为%.1f%%'%17.3323)
>> 本月增长率为17.3%
format()
在字符串中按{0}, {1}…进行占位,再用format()方法传入参数,顺序要一一对应。
print('{0}, 本次数学成绩为{1}分'.format('A',89))
>> A, 本次数学成绩为89分
print('{0}, 上月增长率为{1:.1f}%'.format('数学成绩',10.45))
>> 数学成绩, 上月增长率为10.4%
{1:.1f}
限制此处传入的数据格式为一位小数的浮点数。
f-string
以f
开头的字符串,字符串中若包含{变量}
,则会以变量对应的赋值替换。
a = '小花'
b = '数学'
print(f'{a}最讨厌的科目是{b}')
>> 小花最讨厌的科目是数学
a = 53.556
print(f'东部地区占比为{a:.2f}%')
>>东部地区占比为53.56%
同样,{a:.2f}
意思是限制此处数据为两位小数的浮点数。
参考文章:廖雪峰的官方网站——字符串和编码