问题:
python {0:^30}什么意思
python里 {0:^30}是什么意思
print(“decimal hex chr {0:^30}”.format(“name”))


这种用法属于Python的格式化输出字符:

  • {0:^30}中的0是一个序号,表示格式化输出的第0个字符,依次累加;
  • {0:^30}中的30表示输出宽度约束为30个字符;
  • {0:^30}中的^表示输出时居中对齐,若宽度小于字符串的实际宽度,以实际宽度输出;

2020.3.27补充

format方式
2.1 格式:
[[fill]align][sign][#][0][width][,][.precision][type]
 

2.2 参数:

fill 【可选】空白处填充的字符
align 【可选】对齐方式(需配合width使用)
<,内容左对齐
>,内容右对齐(默认)
=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
^,内容居中
sign 【可选】有无符号数字
+,正号加正,负号加负;
-,正号不变,负号加负;
空格 ,正号空格,负号加负;
# 【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
, 【可选】为数字添加分隔符,如:1,000,000
width 【可选】格式化位所占宽度
.precision 【可选】小数位保留精度
type 【可选】格式化类型
传入” 字符串类型 “的参数
s,格式化字符串类型数据
空白,未指定类型,则默认是None,同s
传入“ 整数类型 ”的参数
b,将10进制整数自动转换成2进制表示然后格式化
c,将10进制整数自动转换为其对应的unicode字符
d,十进制整数
o,将10进制整数自动转换成8进制表示然后格式化;
x,将10进制整数自动转换成16进制表示然后格式化(小写x)
X,将10进制整数自动转换成16进制表示然后格式化(大写X)
传入“ 浮点型或小数类型 ”的参数
e, 转换为科学计数法(小写e)表示,然后格式化;
E, 转换为科学计数法(大写E)表示,然后格式化;
f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
g, 自动在e和f中切换
G, 自动在E和F中切换
%,显示百分比(默认显示小数点后6位)

例如:

# -*- coding: cp936 -*-
##{0}对应于"age",^右对齐输出
##{1}对应于"name",左对齐输出(默认)
print("{0:^30}\n{1:^30}\n{1:10}".format("age","name"))

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#pyversion:python3.5
#owner:fuzj

f1 = "i am {0}, i am {1}d years old".format('Jeck',26)         #采用位置参数来索引
f2 = "i am {name}, i am {age}d years old".format(**{'name':'jeck','age':26})   #采用自定义key来缩影,此时**表示将字典的k/v取出
f3 = "--{name:*^10s}--   =={age:<10.2f}==".format(name='Jeck',age=26.457)   #将name的宽度设置为10,空余的使用*号不全,并居中显示,age类型设置为浮点型,宽度为10.并左对齐
f4 = "原数:{:d}  二进制:{:b}, 八进制:{:o}, 十六进制x:{:x},十六进制X:{:X}".format(15, 15, 15, 15, 15)   #进制转换
f5 = "原数:{:d}, 科学计数法e:{:e}, 科学计数法E:{:E}" .format(1000000000,1000000000,1000000000)    #科学计数法表示
f6 = "原数:{:2F}, 百分号表示{:.2%},  原数:{:d},自动分割表示:{:,}".format(0.75,0.7584,10000000,10000000 )  #百分号表示及自动分割

print(f1)
print(f2)
print(f3)
print(f4)
print(f5)
print(f6)
i am Jeck, i am 26d years old
i am jeck, i am 26d years old
--***Jeck***--   ==26.46     ==
原数:15  二进制:1111, 八进制:17, 十六进制x:f,十六进制X:F
原数:1000000000, 科学计数法e:1.000000e+09, 科学计数法E:1.000000E+09
原数:0.750000, 百分号表示75.84%,  原数:10000000,自动分割表示:10,000,000

例题:
按公式:C= 5/9×(F-32) ,将华氏温度转换成摄氏温度,并产生一张华氏0~300度与对应的摄氏温度之间的对照表(每隔20度输出一次)

# -*- coding: utf-8 -*-
"""
Created on Sun Oct 21 17:52:32 2018

@author: Administrator
"""

for F in range (0,300,20):
    C=5/9*(F-32)
    print("{0} f = {1:.0f} c".format(F, C))

其中,输出函数中的“0”、“1”分别代表后面的“F”、“C”