详解Python的字符串格式化
字符串格式化是将各个数据类型格式化为字符串的一种操作方式,Python 中有多种格式化的方法,其中最常用的是字符串内插和 format() 方法。
字符串内插
字符串内插是指通过字符串中的占位符将数据插入到字符串中。在 Python 中,常用的字符串内插方式是使用 % 进行占位符替换。
基本用法
下面是一个简单的示例:
name = '小明'
age = 18
message = '我叫%s,今年%d岁。' % (name, age)
print(message)
输出结果为:
我叫小明,今年18岁。
这里 %s 和 %d 分别表示字符串和整型的占位符,后面的 (name, age) 则是要替换的内容,注意这两者要以元组的形式传入。
格式化控制符
除了 %s 和 %d 外,还有一些其他的格式化控制符,下面是常用的一些格式化控制符:
控制符 | 描述 |
---|---|
%s | 字符串 |
%d 或 %i | 十进制整数 |
%o | 八进制整数 |
%x 或 %X | 十六进制整数 |
%f 或 %F | 浮点数 |
%e 或 %E | 科学计数法 |
具体的占位符用法可以参考官方文档。
宽度与精度
在占位符中还可以指定宽度和精度。宽度代表输出的字符数,精度代表输出的小数点后位数。
score = 88.8
message = '小明的成绩是:%.2f' % score
print(message)
输出结果为:
小明的成绩是:88.80
这里 %.2f 表示输出小数点后两位,不足两位则用 0 补充。
填充字符
在占位符中还可以指定填充字符,比如以下示例:
age = 18
message = '小明今年的分数为:%06d' % age
print(message)
输出结果为:
小明今年的分数为:000018
这里 %06d 表示输出六位数字,不足六位则在左侧用 0 填充。
format() 方法
另一种常用的字符串格式化方法是使用 format() 方法,在这种方法中需要用 {} 来表示占位符。
基本用法
下面是一个简单的示例:
name = '小明'
age = 18
message = '我叫{},今年{}岁。'.format(name, age)
print(message)
输出结果为:
我叫小明,今年18岁。
与字符串内插类似,这里的 {} 也是要用传入的参数进行替换的。
顺序编号
在 format() 方法中,可以使用顺序编号指定要替换的参数位置。
message = '{1}今年的分数为:{0}'.format(88, '小明')
print(message)
输出结果为:
小明今年的分数为:88
这里的 {1} 和 {0} 分别表示要替换的第二和第一个参数。
关键字参数
在 format() 方法中,也可以使用关键字参数指定要替换的参数。
message = '{name}今年的分数为:{score}'.format(name='小明', score=88.8)
print(message)
输出结果为:
小明今年的分数为:88.8
格式化控制符
在 format() 方法中,也可以使用格式化控制符进行格式化。
score = 88.8
message = '小明的成绩是:{:.2f}'.format(score)
print(message)
输出结果为:
小明的成绩是:88.80
这里的 {:.2f} 和之前的 %.2f 意义相同。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python的字符串格式化 - Python技术站