二把手 发表于 2020-11-3 09:59:55

15讲格式化的问题



>>>'%-10s' % '测试文字'#左对齐
>>>'%10s' % '测试文字'#右对齐

我把它用到format下

>>>'{0:10s}'.format('测试文字') #变成了左对齐

>>>'{0:-10s}'.format('测试文字') #报错了

这是怎么回事?请大神解惑

笨鸟学飞 发表于 2020-11-3 10:08:06

=========python就是这么规定的啊===========
>>> '{0:>10s}'.format('测试文字') #10表示默认宽度,下同
'      测试文字'
>>> '{0:<10s}'.format('测试文字')
'测试文字      '
>>> '{0:^10s}'.format('测试文字')
'   测试文字   '
========详情可以参考下面链接======
https://www.runoob.com/python/att-string-format.html

二把手 发表于 2020-11-3 10:24:26

笨鸟学飞 发表于 2020-11-3 10:08
=========python就是这么规定的啊===========
>>> '{0:>10s}'.format('测试文字') #10表示默认宽度,下同
...


>>>'%010d' % 123
'0000000123'

>>>'%0-10d' % 123
'123       '

----------------------------------------

以上这个方式,用format怎么实现呢?
大神,你这个方法针对字符没有问题,但是针对整数会有问题。

>>> '{0:0<10d}'.format(15)
'1500000000'

hornwong 发表于 2020-11-3 10:30:22

{:5_95:}

笨鸟学飞 发表于 2020-11-3 10:33:15

本帖最后由 笨鸟学飞 于 2020-11-3 10:34 编辑

二把手 发表于 2020-11-3 10:24


>>> '{0:0<10d}'.format(15)
有什么问题?:后面的0,表示不足的用0填充,<表示左对齐,10表示宽度为10,d表示格式化的参数是整数

>>> '{:<10d}'.format(15) #你是要这样吗?
'15      '

二把手 发表于 2020-11-3 10:38:51

谢谢哈,明白了
页: [1]
查看完整版本: 15讲格式化的问题