python中的format格式化、填充与对齐、数字格式化

  • Post author:
  • Post category:python


forma格式化的用法

format函数可以接受不限个参数,位置可以不按顺序。

基本语法是通过{ }和:来代替c语言的%。

>>> a="名字是:{0},年龄是:{1}"
>>> a.format("煮雨",18)
'名字是:煮雨,年龄是:18'

{0},{1}代表的占位符,数字占位符要注意顺序。

>>> c="名字是:{name},年龄是:{age}"
>>> c.format(age=19,name='煮雨')
'名字是:煮雨,年龄是:19'





填充与对齐

“^”代表居中

“<“代表左对齐

“>”代表右对齐

举例:

>>> "{:*>8}".format("245")
'*****245'
  • 冒号后面带的需要填充的字符,”{:*>8}”.代表字符串总共是8位,填充星号,245右对齐。
  • 冒号后面若不跟字符,默认填充空格。





数字格式化

‘ {:>10s}’ 字符s

‘ {:>10d}’ 整数d

‘ {:>10f}’ 浮点数f

>>> a="我是{0},我的存款有{1:.2f}"
>>> a.format("煮雨",3888.4123654)
'我是煮雨,我的存款有3888.41'
  • :.2f表示保存2位浮点数
  • Python中还有很多数字格式化的表达形式,如下表所示:

    数字格式化
>>> "{:0>10d}".format(3)
'0000000003'
  • 3右对齐,10位数,其余位补充0。
  • 这些不用死记硬背,用到的时候查一下,用多了就记住了



常用的format格式


# 左对齐
print('{:<15}:{:,}'.format('sample number',251357954))
print('{:<15}:{:.2%}'.format('rate number',0.341234))
print('{:<15}:{:.2f}'.format('float number',0.341234))
# 右对齐
print('{:>13}:{:,}'.format('sample number',251357954))
print('{:>13}:{:.2%}'.format('rate number',0.341234))
print('{:>13}:{:.2f}'.format('float number',0.341234))


#output
#-----------------------------
sample number  :251,357,954
rate number    :34.12%
float number   :0.34
#-----------------------------
sample number:251,357,954
  rate number:34.12%
 float number:0.34
#-----------------------------

#分开使用
a = "我是{1},我存款{1:.2f}"
a.format("spy",28833333)



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