美文网首页
Python 的"格式化输出"

Python 的"格式化输出"

作者: patiencing | 来源:发表于2018-06-28 19:20 被阅读0次

    缘起

    打印字符串是编程中经常需要处理的任务, 看路飞学院的视频了解到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 (第一次发布)

    如果我的文章对你有用, 希望给些改进的建议, 或者打个"喜欢" ^_^

    相关文章

      网友评论

          本文标题:Python 的"格式化输出"

          本文链接:https://www.haomeiwen.com/subject/tezgyftx.html