Python 3 字符串和数字的格式化与排版输出

一·字符串的格式化与排版

1.字符串排版函数(居中,左对齐填充与右对齐填充)

>>> str = 'lujx1024' 
>>> str.center(15)   # 格式化字符串为15位,居中对齐,前后默认使用空格填充
'    lujx1024   '
>>> str.ljust(15,"#") # 格式化字符串为15位,向左对齐,右侧不足处使用#填充
'lujx1024#######'
>>> str.rjust(15,"@") # 格式化字符串为15位,向右对齐,左侧不足处使用@填充
'@@@@@@@lujx1024'

2.字符串格式化方法 format() 的基本使用

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的
功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。

我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化

##  使用索引映射参数值

>>> str_pattern = "名字是: {0},年龄是: {1}"  # 按照索引传入参数
>>> str_pattern.format("John",18)

'名字是: John,年龄是: 18'

>>> str_pattern = "名字是: {0},年龄是: {1}, {0} 已经成年"  # 按照索引传入参数
>>> str_pattern.format("John",18)

'名字是: John,年龄是: 18, John 已经成年'
#  按照参数名映射参数值

>>> str_pattern = "名字是: {name},年龄是: {age}"
>>> str_pattern.format(name = "john",age = 18)

'名字是: john,年龄是: 18'

3.字符串的format填充与对齐

填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
 

>>> "{:*>8}".format("12345")
'***12345'

二·数字的格式化与排版

浮点数通过 f,整数通过 d 进行需要的格式化
 

>>> a = "我是{0},我的存款有{1:.2f}"
>>> a.format("John",3888.234342)

'我是John,我的存款有3888.23'

其他格式,参考表格 

 

数字 格式 输出 描述

3.1415926

{:.2f}

3.14

保留小数点后两位

3.1415926

{:+.2f}

3.14

带符号保留小数点后两位

2.71828

{:.0f}

3

不带小数

5

{:0>2d}

05

数字补零 (填充左边, 宽度为 2)

5

{:x<4d}

5xxx

数字补 x (填充右边, 宽度为 4)

10

{:x<4d}

10xx

数字补 x (填充右边, 宽度为 4)

1000000

{:,}

1,000,000

以逗号分隔的数字格式

0.25

{:.2%}

25.00%

百分比格式

1000000000

{:.2e}

1.00E+09

指数记法

13

{:10d}

13

右对齐 (默认, 宽度为 10)

13

{:<10d}

13

左对齐 (宽度为 10)

13

{:^10d}

13

中间对齐 (宽度为 10)

 


版权声明:本文为LJX_ahut原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。