format函数
format() 函数与参数结合使用
格式化字段将会被 format() 中的参数替换
括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换
print("我叫{},今年{}!".format("张三",22))
print("我叫{0},今年{1}!".format("张三",22))
print("我叫{1},今年{0}!".format("张三",22))
# 执行结果
我叫张三,今年22!
我叫张三,今年22!
我叫22,今年张三!
在format()中使用关键字参数,它们的值会指向使用该名字的参数
print("我叫{name},今年{age}!".format(name="张三",age=22))
print("我叫{name},今年{age}!".format(age=22,name="张三"))
# 执行结果
我叫张三,今年22!
我叫张三,今年22!
位置及关键字参数可以任意的结合
print("我叫{0},今年{1},现住{place}!".format("张三",22,place="深圳"))
print("我叫{1},现住{place},今年{1}!".format("张三",22,place="深圳"))
# 执行结果
我叫张三,今年22,现住深圳!
我叫22,现住深圳,今年22!
format() 函数与数字,字符结合使用
^
、 <
、 >
分别是居中、左对齐、右对齐,后面带宽度
:
号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+
表示数学中的正负号,在正数前显示+
,负数前显示-
; (空格)表示在正数前加空格
b、d、o、x
分别是二进制、十进制、八进制、十六进制。
注意:格式一列的内容都是输入法英文格式
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f } | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f } | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
11 | ‘{:b}’.format(11) | 1011 | 二进制 |
11 | ‘{:d}’.format(11) | 11 | 十进制 |
11 | '{:o}'.format(11) | 13 | 八进制 |
11 | ‘{:x}’.format(11) | b | 十六进制 |
11 | ‘{:#x}’.format(11) | 0xb | 0x式十六进制+小写 |
11 | ‘{:#X}’.format(11) | 0XB | 0x式十六进制+大写 |
a = 5.5
print("a的值为{0:.0f}".format(a))
# 执行结果
a的值为6
print("{0:5}---{1:<6d}".format("张三",18))
print("{0:<5}---{1:6d}".format("张三",18))
print("{1:5d}---{0:6}".format("张三",18))
# 执行结果
张三 ---18
张三 --- 18
18---张三
print("{0:,}".format(10000))
# 执行结果
10,000
print("{0:.3%}".format(0.24))
# 执行结果
24.000%