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

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。其优点如下:

1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

2.单个参数可以多次输出,参数顺序可以不相同

3.填充方式十分灵活,对齐方式十分强大

format的简单例子

 1. print("{0}{1}".format("Hello"," World!")) #输出:Hello World!
 2. print("{0:+<20}".format("Python"))#输出:Python++++++++++++++
 3. print("{0:+>20}".format("Python"))#输出:++++++++++++++Python
 4. print("{0:+^20}".format("Python"))#输出:+++++++Python+++++++

格式化控制信息

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

foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ,2…

也可以不输入数字,这样也会按顺序来填充。

例如:

1.print("{0:}{1:}".format("pyt","hon"))#输出:python
2.print("{1:}{0:}".format("pyt","hon"))#输出:honpyt
3.print("{}{}".format("pyt","hon"))#输出:python

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

<填充>
表示在<宽度>内除参数外要用什么字符来填充,默认以空格填充。

<对齐>
表示参数在<宽度>内输出时的对齐方式,对齐方式有:^, <, > 分别是居中、左对齐、右对齐。

例:

 1. print("{0:+<20}".format("Python"))#(左对齐)输出:Python++++++++++++++
 2. print("{0:+>20}".format("Python"))#(右对齐)输出:++++++++++++++Python
 3. print("{0:+^20}".format("Python"))#(居中)输出:+++++++Python+++++++
 4. #以上三行代码采用的“+”填充(方便大家理解),也可以采用其他的字符
 5. #如:
 6. print("{0:-^20}".format("Python"))#(居中)输出:-------Python-------

逗号
用于显示数字的千位分隔符适用于整数和浮点数。

例:

1.print("{0:10,}".format(1234567))#输出: 1,234,567

<精度>
对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

1.#1浮点数:
2.print("{0:.2f}".format(1234.5678))#输出:1234.57
3.#f前面的数字表示保留小数点后面几位小数
4.#2字符串
5.print("{0:.4}".format("PYTHON"))#输出:PYTH

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

  1. b: 输出整数的二进制方式
  2. c: 输出整数对应的 Unicode 字符
  3. d: 输出整数的十进制方式
  4. o: 输出整数的八进制方式
  5. x: 输出整数的小写十六进制方式
  6. X: 输出整数的大写十六进制方式

例:

1.print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(250))
2.#输出:11111010,ú,250,372,fa,FA

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

  1. e: 输出浮点数对应的小写字母 e 的指数形式
  2. E: 输出浮点数对应的大写字母 E 的指数形式
  3. f: 输出浮点数的标准浮点形式
  4. %: 输出浮点数的百分形式

例:

print("{0:e},{0:E},{0:f},{0:%}".format(0.123))
#输出:1.230000e-01,1.230000E-01,0.123000,12.300000%
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值