这种用法属于Python的格式化输出字符:
1. {0:^30}中的0是一个序号,表示格式化输出的第0个字符,依次累加;
2. {0:^30}中的30表示输出宽度约束为30个字符;
3. {0:^30}中的^表示输出时右对齐,若宽度小于字符串的实际宽度,以实际宽度输出;
例如:
# -*- coding: cp936 -*-
##{0}对应于"age",^右对齐输出
##{1}对应于"name",左对齐输出(默认)
print("{0:^30}\n{1:^30}\n{1:10}".format("age","name"))
结果如下图所示:
一个脚本例子:
#!/usr/bin/env python3
# coding:utf-8
metro_areas = [
('Tokyo','JP',36.933,(35.689722, 139.691667)),
('Delhi NCR', 'IN', 21.935, (28.613889, 77.208889)),
('Mexico City', 'MX', 20.142, (19.433333, -99.133333)),
('New York-Newark', 'US', 20.104, (40.808611, -74.020386)),
('Sao Paulo', 'BR', 19.649, (-23.547778, -46.635833)),
]
print('{:15} | {:^9} | {:^9}'.format('', 'lat.', 'long.'))
fmt = '{:15} | {:9.4f} | {:9.4f}'
for name, cc, pop, (latitude, longitude) in metro_areas:
if longitude <= 0:
print(fmt.format(name, latitude, longitude))
输出结果: