python的字符串格式化

出自:https://blog.csdn.net/i_chaoren/article/details/77922939

1.简单运用

字符串类型格式化采用format()方法,基本使用格式是:
     <模板字符串>.format(<逗号分隔的参数>)
调用format()方法后会返回一个新的字符串,参数从0 开始编号。
[python]  view plain  copy
  1. "{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)  
  2. Out[10]: '2016-12-31:计算机PYTHON的CPU 占用率为10%。'  
format()方法可以非常方便地连接不同类型的变量或内容,如果需要输出大括号,采用{{表示{,}}表示},例如:
[python]  view plain  copy
  1. "{}{}{}".format("圆周率是",3.1415926,"...")  
  2. Out[11]: '圆周率是3.1415926...'  
  3.   
  4. "圆周率{{{1}{2}}}是{0}".format("无理数",3.1415926,"...")  
  5. Out[12]: '圆周率{3.1415926...}是无理数'  
  6.   
  7. s="圆周率{{{1}{2}}}是{0}" #大括号本身是字符串的一部分  
  8.   
  9. s  
  10. Out[14]: '圆周率{{{1}{2}}}是{0}'  
  11.   
  12. s.format("无理数",3.1415926,"..."#当调用format()时解析大括号  
  13. Out[15]: '圆周率{3.1415926...}是无理数'  

2. 格式控制信息

    format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:
     {<参数序号>: <格式控制标记>}
     其中,<格式控制标记>用来控制参数显示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用,逐一介绍如下。


<宽度>

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

<对齐>

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

<填充>

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

[python]  view plain  copy
  1. s = "PYTHON"  
  2.   
  3. "{0:30}".format(s)  
  4. Out[17]: 'PYTHON                        '  
  5.   
  6. "{0:>30}".format(s)  
  7. Out[18]: '                        PYTHON'  
  8.   
  9. "{0:*^30}".format(s)  
  10. Out[19]: '************PYTHON************'  
  11.   
  12. "{0:-^30}".format(s)  
  13. Out[20]: '------------PYTHON------------'  
  14.   
  15. "{0:3}".format(s)  
  16. Out[21]: 'PYTHON'  

逗号(,)

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

[python]  view plain  copy
  1. "{0:-^20,}".format(1234567890)  
  2. Out[24]: '---1,234,567,890----'  
  3.   
  4. "{0:-^20}".format(1234567890#对比输出  
  5. Out[25]: '-----1234567890-----'  
  6.   
  7. "{0:-^20,}".format(12345.67890)  
  8. Out[26]: '----12,345.6789-----'  

 <.精度>

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

[python]  view plain  copy
  1. "{0:.2f}".format(12345.67890)  
  2. Out[29]: '12345.68'  
  3.   
  4. "{0:H^20.3f}".format(12345.67890)  
  5. Out[30]: 'HHHHH12345.679HHHHHH'  
  6.   
  7. "{0:.4}".format("PYTHON")  
  8. Out[31]: 'PYTH'  

 <类型>

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

  • b: 输出整数的二进制方式;
  • c: 输出整数对应的 Unicode 字符;
  • d: 输出整数的十进制方式;
  • o: 输出整数的八进制方式;
  • x: 输出整数的小写十六进制方式;
  • X: 输出整数的大写十六进制方式;
[python]  view plain  copy
  1. "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)  
  2. Out[32]: '110101001,Ʃ,425,651,1a9,1A9'  
对于浮点数类型,输出格式包括4 种:
  • e: 输出浮点数对应的小写字母 e 的指数形式;
  • E: 输出浮点数对应的大写字母 E 的指数形式;
  • f: 输出浮点数的标准浮点形式;
  • %: 输出浮点数的百分形式。
     浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。
[python]  view plain  copy
  1. "{0:e},{0:E},{0:f},{0:%}".format(3.14)  
  2. Out[33]: '3.140000e+00,3.140000E+00,3.140000,314.000000%'  
  3.   
  4. "{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)  
  5. Out[34]: '3.14e+00,3.14E+00,3.14,314.00%'  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值