python数据域宽左对齐_Python——格式化

Python有两种格式化字符创的方式。我们简单地称为旧式和新式。这两种方式的格式化在Python2和Python3中都使用。

使用%的旧式格式化

旧式格式化的形式为:string % data

string 包含的是待插值的序列

转换类型

%s 字符串

%d 十进制整数

%x 十六进制整数

%o 八进制整数

%f 十进制浮点数

%e 以科学计数法表示的浮点数

%g 十进制或科学计数法表示的浮点数

%% 文本值%本身

一个字符串内的%s意味着此处需要插入一个字符串,字符串中出现%的次数需要与%之后所提供的数据个数相同,如果需要插入一个数据,直接将需要插入的数据置于%后即可,如果需要插入多个数据,则需要将它们封装进一个元组(以圆括号为界,逗号分开)

还可以在%和指定类型的字母之间设定最大和最小宽度、排版以及填充字符

str_a = 'test123'

float_f = 3.14

n = 42

print_str = 'str = %s float is = %f number is = %d' % (str_a, float_f, n)

print(print_str)

为每个变量设定最小域宽为10个字符,右对齐,左侧不够用空格填充

blank_str = '%10s%10f%10d' % (str_a, float_f, n)

print(blank_str)

左对齐

blank_str = '%-10s%-10f%-10d' % (str_a, float_f, n)

print(blank_str)

右对齐,并且将浮点数的精度限制在小数点后4位

>>> '%10.4s%10.4f%10.4d' % (s,f,n)

' hahh 3.1416 0056'

去掉最小域宽为10限制

>>> '%.4s%.4f%.4d' % (s,f,n)

'hahh3.14160056'

作为将域宽 字符宽度等设定作为参数

>>> '%*.*d%*.*f%*.*s'%(3,4,n,5,4,f,10,2,s)

'00563.1416 ha'

使用{}和format的新式格式化

在python3中,使用新式格式化

>>> '{},{},{}'.format(n,f,s)

'678,1.242527,tecalgur'

自定义显示顺序

>>> '{2},{1},{0}'.format(f,s,n)

'678,tecalgur,1.242527'

上面的程序中 {2}代表显示数组第3个 {1}代表显示数组第2个 {0}代表显示数组第1个

参数可以是字典或者变量,个格式串中的标识符可以引用这些名称

>>> '{a},{b},{c}'.format(a = 's123',b=3.14,c=22)

's123,3.14,22'

指定参数格式

>>> '{0:d}+{2:f}+{1:s}'.format(a,c,b)

'44+3.131310+aaabbbccc'

设置最小域宽 右对齐

>>> '{0:10d}{1:10f}{2:10s}'.format(a,b,c)

' 44 3.131310aaabbbccc '

另一种方式右对齐

>>> '{0:>3f}+{2:>2s}+{1:2d}'.format(3.111,23,'wx')

'3.111000+wx+23'

左对齐

>>> '{0:<3f}+{2:<2s}+{1:<2d}'.format(3.111,23,'wx')

'3.111000+wx+23'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值