zoukankan      html  css  js  c++  java
  • format格式化字符串

    1、语法结构

    字符串类型格式化采用format()方法,基本使用语法结构是:

         <模板字符串>.format(<逗号分隔的参数>)

    调用format()方法后会返回一个新的字符串,参数从索引0 开始。

    "{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)
    #'2016-12-31:计算机PYTHON的CPU 占用率为10%。'
    

    format()方法可以非常方便地连接不同类型的变量或内容,如果需要输出大括号,采用{{表示{,}}表示},例如:

    "圆周率{{{1}{2}}}是{0}".format("无理数",3.1415926,"...") #大括号本身是字符串的一部分,当调用format()时解析大括号
    # '圆周率{3.1415926...}是无理数'
    

    2、 格式控制信息

       format()方法中<模板字符串>除了包括参数序号,还可以包括格式控制信息。此时,内部样式如下:

         {<参数序号>: <格式控制标记>}

    其中,<格式控制标记>用来控制参数显示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用,逐一介绍如下。

    <宽度>

    指当前设定输出字符宽度,如果该对应的format()参数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。

    <对齐>

    指参数在<宽度>内输出时的对齐方式,分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。

    <填充>

    指<宽度>内除了参数外的字符采用什么方式表示,默认采用空格,可以通过<填充>更换。

    s = "PYTHON"
    
    "{0:30}".format(s) #指定宽度为30,默认以空格填充
    # 'PYTHON '
    
    "{0:>30}".format(s) #指定宽度为30,默认以空格填充,右对齐
    # ' PYTHON'
    
    "{0:*^30}".format(s) #指定宽度为30,设置以*填充,并居中
    #'************PYTHON************'
    
    "{0:-^30}".format(s) #指定宽度为30,设置以*填充,并居中
    #'------------PYTHON------------'
    
    "{0:3}".format(s) #指定宽度为3,实际字符比默认宽度大,显示实际输出
    #: 'PYTHON'
    

    逗号(,)

    <格式控制标记>中逗号(,)用于显示数字的千位分隔符,例如:

    "{0:-^20,}".format(1234567890)
    # '---1,234,567,890----'
    
    "{0:-^20}".format(1234567890) #对比输出,千分号,
    # '-----1234567890-----'
    
    "{0:-^20,}".format(12345.67890)
    #: '----12,345.6789-----'
    

    <.精度>

    表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

    "{0:.2f}".format(12345.67890)
    #: '12345.68'
    
    "{0:H^20.3f}".format(12345.67890)
    #: 'HHHHH12345.679HHHHHH'
    
    "{0:.4}".format("PYTHON") #指定宽度为4,实际字符比默认宽度大,但是使用.,所以最大的输出长度即为4
    #: 'PYTH'
    

     <类型>

    表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:

      b: 输出整数的二进制方式;

      c: 输出整数对应的 Unicode 字符;

      d: 输出整数的十进制方式;

      o: 输出整数的八进制方式;

      x: 输出整数的小写十六进制方式;

      X: 输出整数的大写十六进制方式;

    "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
    # '110101001,Ʃ,425,651,1a9,1A9'
    

    对于浮点数类型,输出格式包括4 种:

      e: 输出浮点数对应的小写字母 e 的指数形式;

      E: 输出浮点数对应的大写字母 E 的指数形式;

      f: 输出浮点数的标准浮点形式;

      %: 输出浮点数的百分形式。

    浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。

    "{0:e},{0:E},{0:f},{0:%}".format(3.14)
    # '3.140000e+00,3.140000E+00,3.140000,314.000000%'
    
    "{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)
    # '3.14e+00,3.14E+00,3.14,314.00%'
    
  • 相关阅读:
    windows7系统笔记本设置成虚拟WiFi热点(即“无线路由器”)
    分布式事务03单体应用分库多数据源改造
    Spring5.2.x01导入idea
    图解CRM(客户关系管理)全流程
    分布式事务03XA, 2PC, 3PC 等理论知识
    分布式事务01课前知识
    tomcat9源码导入idea
    分布式事务02Springtx核心
    DEA Push rejected: Push to origin/master was rejected问题的解决方法
    Error:gradleresourcestest:thymeleafinaction.main: java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream
  • 原文地址:https://www.cnblogs.com/pinpin/p/10315203.html
Copyright © 2011-2022 走看看