1,% 形式的格式化
a = '%6d' % 123 # %d 格式化整数 6表示字符传的总长度
# 结果( 123) 可见总长度为6格,但123只能占3格,所有前面空了3格
b = '%09.2f' % 3.1415 # %f 格式化浮点数 09表示总长为9格(小数点也算一格)不足用0填充 .2表示保留2位小数(四舍五入)
# 结果 (000003.14) 可见总长为9,保留了小数点后两位
c = '%c' % 97 # %c 格式化成ASCLL码 输出对应数字的ASCLL码值
# 结果 (a) 97在ASCLL码表中对应字母a
d = '%o' % 8 # %o 八进制输出 输出结果转换成八进制对应的数
# 结果 (10) 十进制的8 在八进制中对应的数是10
e = '%x' % 16 # %x 十六进制输出 输出结果转换成十六进制对应的数
# 结果 (10) 十进制的8 在十六进制中对应的数是10
f = '%e' % 1000 # 科学计数法输出 输出结果转换为科学计数法
# 结果 (1.000000e+03)
g = '%r' % '\n123' # %r 对象原样输出 输入的是什么输出就是什么(非常重要)
# 结果 ('\n123') 本来\n为换行符,但%r使得输出不换行原样输出
2,format 格式化字符串
基本用法
h = '{} {}'.format("hello", "world") # 不设置指定位置,按默认顺序
# 结果 ('hello world') 默认从左往右
i = '{0} {1}'.format("hello", "world") # 设置指定位置
# 结果 ('hello world')
j = '{1} {0} {1}'.format("hello", "world") # 设置指定位置
#结果 ('world hello world')
k = '{a:}{b:}{c:}'.format(a=1, b=2, c=3) #指定变量的值输出
# 结果 (123) 给每一个变量赋值输出
dinner = '我们今天中午吃{}或者{}'.format('快餐', '火锅', '串串') #{}可以少,但参数必须够
# 结果 (我们今天中午吃快餐或者火锅)
dinner = '我们今天中午吃{}或者{}{}{}'.format('快餐', '火锅', '串串') #{}多,参数少就会报错
# 结果 (IndexError: tuple index out of range)
基础形式的输出
l = '{a:.2f}'.format(a=123.456) # 保留两位小数
# 结果 (123.46) 利用四舍五入的方法保留两位小数
m = '{:.2%}'.format(0.33333) # 以百分号形输出并保留两位小数
# 结果 (33.33%) 利用四舍五入的方法保留两位小数
n = '{:b}'.format(10) # 二进制输出 输出结果转换成二进制对应的数
# 结果 (1010) 十进制的10 在二进制中对应的数是1010
o = '{:o}'.format(10) # 八进制输出 输出结果转换成八进制对应的数
# 结果 (12) 十进制的10 在八进制中对应的数是12
p = '{:x}'.format(10) # 十六进制输出 输出结果转换成十六进制对应的数
# 结果 (a) 十进制的10 在十六进制中对应的数是a
左中右对齐输出,转义大括号输出
q = '{:0<10}'.format(12.34) # 左对齐输出,输出长度10 不足用0补充
# 结果 (12.3400000)
r = '{:*^10}'.format(12.34) # 居中对齐输出,输出长度10 不足用*补充
# 结果 (**12.34***)
s = '{:~>10}'.format(12.34) # 右对齐输出,输出长度10 不足用~补充
print(s)
# 结果 (~~~~~12.34)
t = '{{hello {}}}'.format("python") # 转义大括号输出
# 结果 ({hello python}) 当我们想输出{}时使用两层{}即可
当作函数使用
u = 'hello {}'.format
print(u('python'))
# 结果 (hello python) 当作函数调用方便快捷省去重复输入的字段