Python3的格式化输出
⼀般来说,我们希望更多的控制输出格式,⽽不是简单的以空格分割。这⾥有两种⽅式:
第⼀种是由你⾃⼰控制。使⽤字符串切⽚、连接操作以及 string 包含的⼀些有⽤的操作。
第⼆种是使⽤str.format()⽅法。
下⾯给⼀个⽰例:
1# 第⼀种⽅式:⾃⼰控制
2for x in range(1, 11):
3print(str(x).rjust(2), str(x*x).rjust(3), end='')
4print(str(x*x*x).rjust(4))
5
6# 第⼆种⽅式:str.format()
7for x in range(1, 11):
8print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
9
10# 输出都是:
11# 1  1  1
12# 2  4  8
13# 3  9  27
14# 4 16  64
15# 5 25 125
16# 6 36 216
17# 7 49 343
18# 8 64 512
19# 9 81 729
20# 10 100 1000
微服务架构平台技术
第⼀种⽅式中,字符串对象的 str.rjust() ⽅法的作⽤是将字符串靠右,并默认在左边填充空格,类似的⽅法还有 str.ljust() 和 () 。这些⽅法并不会写任何东西,它们仅仅返回新的字符串,如果输⼊很长,它们并不会截断字符串。我们注意到,同样是输出⼀个平⽅与⽴⽅表,使⽤str.format()会⽅便很多。
str.format()的基本⽤法如下:eclipse导入的图片怎么调小
>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))
We are the knights who say "Ni!"
括号及括号⾥的字符将会被 format() 中的参数替换.。括号中的数字⽤于指定传⼊对象的位置:
>>> print('{0} and {1}'.format('Kobe', 'James'))
Kobe and James
>>> print('{1} and {0}'.format('Kobe', 'James'))
python在线编辑器python3James and Kobe
如果在 format() 中使⽤了关键字参数,那么它们的值会指向使⽤该名字的参数:
>>> print('The {thing} is {adj}.'.format(thing='flower', adj='beautiful'))
The flower is beautiful.
可选项':'和格式标识符可以跟着 field name,这样可以进⾏更好的格式化:文本编辑器quick
>>> import math
>>> print('The value of PI is {0:.3f}.'.format(math.pi))
The value of PI is 3.142.
在':'后传⼊⼀个整数,可以保证该域⾄少有这么多的宽度,⽤于美化表格时很有⽤:
>>> table = {'Jack':4127, 'Rose':4098, 'Peter':7678}
>>> for name, phone in table.items():
css教程书籍...  print('{0:10} ==> {1:10d}'.format(name, phone))
...
Peter  ==>    7678
Rose    ==>    4098
Jack    ==>    4127
我们还可以将参数解包进⾏格式化输出。例如,将table解包为关键字参数:
table = {'Jack':4127, 'Rose':4098, 'Peter':7678}
print('Jack is {Jack}, Rose is {Rose}, Peter is {Peter}.'.format(**table))
# 输出:Jack is 4127, Rose is 4098, Peter is 7678.
postgresql命令在哪里
补充:
% 操作符也可以实现字符串格式化。它将左边的参数作为类似 sprintf() 式的格式化字符串,⽽将右边的代⼊:
1import math
2print('The value of PI is %10.3f.' %math.pi)
3# 输出:The value of PI is  3.142.
因为这种旧式的格式化最终会从Python语⾔中移除,应该更多的使⽤ str.format() 。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。