Python字符串格式化--format()的应用

Posted qbdj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python字符串格式化--format()的应用相关的知识,希望对你有一定的参考价值。

1.简单运用

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

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

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


":计算机的CPU 占用率为%。".format("2016-12-31","PYTHON",10)
 
Out[10]: ‘2016-12-31:计算机PYTHON的CPU 占用率为10%。‘

  

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

"".format("圆周率是",3.1415926,"...")
 
Out[11]: ‘圆周率是3.1415926...‘
 
 
"圆周率12是0".format("无理数",3.1415926,"...")
 
Out[12]: ‘圆周率3.1415926...是无理数‘
 
 
s="圆周率12是0" #大括号本身是字符串的一部分
 
 
s
 
Out[14]: ‘圆周率12是0‘
 
 
s.format("无理数",3.1415926,"...") #当调用format()时解析大括号
 
Out[15]: ‘圆周率3.1415926...是无理数‘

  

. 格式控制信息

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

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

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

技术图片

 

<宽度>

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

<对齐>

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

<填充>

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

 

s = "PYTHON"
 
 
"0:30".format(s)
 
Out[17]: ‘PYTHON ‘
 
 
"0:>30".format(s)
 
Out[18]: ‘ PYTHON‘
 
 
"0:*^30".format(s)
 
Out[19]: ‘************PYTHON************‘
 
 
"0:-^30".format(s)
 
Out[20]: ‘------------PYTHON------------‘
 
 
"0:3".format(s)
 
Out[21]: ‘PYTHON‘

  

逗号(,)

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

 

"0:-^20,".format(1234567890)
 
Out[24]: ‘---1,234,567,890----‘
 
 
"0:-^20".format(1234567890) #对比输出
 
Out[25]: ‘-----1234567890-----‘
 
 
"0:-^20,".format(12345.67890)
 
Out[26]: ‘----12,345.6789-----‘

  

<.精度>

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

"0:.2f".format(12345.67890)
 
Out[29]: ‘12345.68‘
 
 
"0:H^20.3f".format(12345.67890)
 
Out[30]: ‘HHHHH12345.679HHHHHH‘
 
 
"0:.4".format("PYTHON")
 
Out[31]: ‘PYTH‘

  

<类型>

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

  • b: 输出整数的二进制方式;
  • c: 输出整数对应的 Unicode 字符;
  • d: 输出整数的十进制方式;
  • o: 输出整数的八进制方式;
  • x: 输出整数的小写十六进制方式;
  • X: 输出整数的大写十六进制方式;
"0:b,0:c,0:d,0:o,0:x,0:X".format(425)
 
Out[32]: ‘110101001,?,425,651,1a9,1A9‘

  

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

  • e: 输出浮点数对应的小写字母 e 的指数形式;
  • E: 输出浮点数对应的大写字母 E 的指数形式;
  • f: 输出浮点数的标准浮点形式;
  • %: 输出浮点数的百分形式。

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

 

"0:e,0:E,0:f,0:%".format(3.14)
 
Out[33]: ‘3.140000e+00,3.140000E+00,3.140000,314.000000%‘
 
 
"0:.2e,0:.2E,0:.2f,0:.2%".format(3.14)
 
Out[34]: ‘3.14e+00,3.14E+00,3.14,314.00%‘

  

原文:https://blog.csdn.net/lcx16/article/details/90377619

 

以上是关于Python字符串格式化--format()的应用的主要内容,如果未能解决你的问题,请参考以下文章

python中的格式化输出and format()应用

Python 的字符串 .format() 可以对不受信任的格式字符串安全吗?

python format格式化字符串

Python之路--Python中应该使用%还是format来格式化字符串?

Python中用format函数格式化字符串的用法

Python格式化字符串str.format()