用计算机编程
为孩子赋能

Python 的”格式化输出”

缘起

打印字符串是编程中经常需要处理的任务, 而 Python 的”格式化输出”功能能够高效地打印多个字符串, 并进行美化.

定义

“字符串的格式化输出”就是预先制定一个模版, 在这个模版中先空出后续需要输入的内容, 最后, 再将内容填充到这些空出的位置.

那么, 如何让计算机知道哪些位置是需要填写内容的呢?

那么, 就需要约定一些特殊的符号, 标记这些位置.
这些特殊符号被称为”占位符” (很形象, 占住位置. 就像大学图书馆经常看到的, 桌子上放本书, 宣示这个座位已经有人占了)

看一个简单的例子:

print('这款 %s 的售价是 %d 元' % ('iPhone', 4600))

输出结果是

这款 iPhone 的售价是 4600 元

其中, %s%d 是占位符 (%s表示后续要填入的是 String / 字符串, %d 表示后续要填入的是 digit / 整数),
而后面的 ('iPhone', 4600) 则会会在打印时分别填入 %s%d 所处的位置

格式化输出的 3 种方式

1. 最经典

也就是之前那个例子

print('这款 %s 的售价是 %d 元, 我爱 %s.' % ('Mac', 13000, 'Mac'))

输出结果是:

这款 Mac 的售价是 13000 元, 我爱 Mac.

常用的占位符:

占位符 指代
%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)

输出:

这款 Mac 的售价是 13000 元, 我爱 Mac.

3. format 函数

print('这款 {0} 的售价是 {1} 元, 我爱 {0}.'.format('Mac', 13000))

输出结果是:

print('这款 {0} 的售价是 {1} 元, 我爱 {0}.'.format('Mac', 13000))

注意:

  • {}里面的序号和 format()里面的内容顺序是对应的, 而且{}里面的序号是从 0 开始的
  • {}里面也可以不写数字, 那么 {} 的数量和format()里面的内容数量要一致:
print('这款 {} 的售价是 {} 元, 我爱 {}.'.format('Mac', 13000, 'Mac'))

输出为:

这款 Mac 的售价是 13000 元, 我爱 Mac.

参考文章

文章历史

  • 2017/06/28 (在简书发布)
  • 2020/06/12 润色
赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址