# Python 的"格式化输出"
# 缘起
打印字符串是编程中经常需要处理的任务, 看路飞学院的视频了解到Python的"格式化输出"功能.
它可以高效地打印多个字符串, 并且进行美化.
# 定义
"字符串的格式化输出"就是预先制定一个模版, 在这个模版中先空出后续需要输入的内容, 最后, 再将内容填充到这些空出的位置.
那么, 如何让计算机知道哪些位置是需要填写内容的呢?
那么, 就需要约定一些特殊的符号, 标记这些位置. 这些特殊符号被称为"占位符" (很形象, 占住位置. 就像大学图书馆经常看到的, 桌子上放本书, 宣示这个座位已经有人占了)
看一个简单的例子:
print('这款 %s 的售价是 %d 元' % ('iPhone', 4600))
1
输出结果是
这款 iPhone 的售价是 4600 元
1
其中, %s
和 %d
是占位符 (%s
表示后续要填入的是 String / 字符串, %d
表示后续要填入的是 digit / 整数),
而后面的 ('iPhone', 4600)
则会会在打印时分别填入 %s
和 %d
所处的位置
# 格式化输出的 3 种方式
# 1. 最经典
也就是之前那个例子
print('这款 %s 的售价是 %d 元, 我爱 %s.' % ('Mac', 13000, 'Mac'))
1
输出结果是:
这款 Mac 的售价是 13000 元, 我爱 Mac.
1
常用的占位符:
占位符 | 指代 |
---|---|
%s | string / 字符串 |
%d | digit / 整数 |
%f | float / 浮点数 |
%.2f | float / 浮点数, 保留 2 位小数 |
%r | raw / 原生的数据 (调试用) |
# 2. 字典
my_dic = {
'name': 'Mac',
'price': 13000
}
print('这款 %(name)s 的售价是 %(price)d 元, 我爱 %(name)s.' % my_dic)
1
2
3
4
5
2
3
4
5
输出:
这款 Mac 的售价是 13000 元, 我爱 Mac.
1
# 3. format 函数
print('这款 {0} 的售价是 {1} 元, 我爱 {0}.'.format('Mac', 13000))
1
输出结果是:
print('这款 {0} 的售价是 {1} 元, 我爱 {0}.'.format('Mac', 13000))
1
注意:
{}
里面的序号和format()
里面的内容顺序是对应的, 而且{}
里面的序号是从 0 开始的{}
里面也可以不写数字, 那么{}
的数量和format()
里面的内容数量要一致:
print('这款 {} 的售价是 {} 元, 我爱 {}.'.format('Mac', 13000, 'Mac'))
1
输出为:
这款 Mac 的售价是 13000 元, 我爱 Mac.
1
# 参考文章
- 跟老齐学Python (opens new window)
- 路飞学院 Python 视频课程