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

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

2. 1 格式控制信息

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

{<参数序号>: <格式控制标记>} # 中间使用了一个冒号哦!

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

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

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

(3)<宽度>

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

python for冒号写结束循环 python format 冒号_浮点数

 

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

python for冒号写结束循环 python format 冒号_字符串_02

 

(5)<.精度>   # 注意:前面有一个小数点哦!
表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

python for冒号写结束循环 python format 冒号_浮点数_03

 

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

b: 输出整数的二进制方式;
c: 输出整数对应的 Unicode 字符;
d: 输出整数的十进制方式;
o: 输出整数的八进制方式;
x: 输出整数的小写十六进制方式;
X: 输出整数的大写十六进制方式;

python for冒号写结束循环 python format 冒号_python for冒号写结束循环_04

 

对于浮点数类型,输出格式包括4 种:
e: 输出浮点数对应的小写字母 e 的指数形式;
E: 输出浮点数对应的大写字母 E 的指数形式;
f: 输出浮点数的标准浮点形式;
%: 输出浮点数的百分形式。
浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。

python for冒号写结束循环 python format 冒号_浮点数_05

 

 

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx'或 F'xxx'),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式

f-string在功能方面不逊于传统的%-formatting语句和str.format()函数,同时性能又优于二者,且使用起来也更加简洁明了,因此对于Python3.6及以后的版本,推荐使用f-string进行字符串格式化。

1、f-string用大括号 {} 表示被替换字段,其中直接填入替换内容:

python for冒号写结束循环 python format 冒号_python for冒号写结束循环_06

 

2、如何格式化一个表达式

 

python for冒号写结束循环 python format 冒号_python for冒号写结束循环_07

 

3、如何用f-string设定浮点数精度

F-string可以像str.format那样格式化浮点数。想要实现这一点,你需要加一个 :(冒号)再加一个 .(英文句号)然后跟着小数点位数最后以f结尾。

python for冒号写结束循环 python format 冒号_格式控制_08

 

4、如何将一个数字格式化为百分数

python for冒号写结束循环 python format 冒号_字符串_09

 

5、如何调整或者增加 f-string 的缩进

你可以便捷的通过 <  或者  >  还有 ^ 符号来调整字符串缩进。

python for冒号写结束循环 python format 冒号_python for冒号写结束循环_10

python for冒号写结束循环 python format 冒号_python for冒号写结束循环_11

 

6、如何格式化千分位

甚至可以一次性同时搞定既有千分位分隔符又有精度设定的浮点数。

python for冒号写结束循环 python format 冒号_字符串_12

 

7、如何在字符串前补零

可以用{expr:0len} 这个方法来进行字符串补零。len是最终返回字符串的长度。还可以增加一个正负号标记。在这种情况下,用+则无论数值为正负数都将显示相应正负号。用-则只有当数值为负数时才显示负号,默认设定也是如此。

python for冒号写结束循环 python format 冒号_字符串_13