1.format格式化函数
format函数是Python2.6及其以后版本才有的格式化函数。其使用{}和:来代替原来版本中的%。
2.使用方法
2.1 传参形式
#下面这种写法有点类似位置参数的引用方式
print("{} {}".format("hello","world"))
print("{1} {0} {1}".format("hello","world"))
print("网站名:{0[0]},网址:{0[1]},今天是{1[0]}月{1[1]}日"\
.format(("菜鸟教程",'runoob.com'),("Nov",'16th')))
代码运行结果如下:
#下面有点类似关键字参数的引用方式
a=("菜鸟教程",'runoob.com')
print("网站名:{0},网址:{1}".format(*a))
print("网站名:{name},网址:{url}".format(name="菜鸟教程",url='runoob.com'))
a={'name':'菜鸟教程','url':'runoob.com'}
print("网站名:{0[name]},网址:{0[url]}".format(a))
print("网站名:{name},网址:{url}".format(**a))
代码运行结果如下:
2.2 格式化输出
格式 | 描述 | 代码及输出样例 |
---|---|---|
{:.2f} | 保留小数点后两位。 |
print('{:.2f},{:.1f}'.format(78.2323,34)) 结果:78.23,34.0 |
{:+.2f} | 带符号保留小数点后两位。正数前面带+,负数前面带-(注意当使用{:.0f}时,会对结果进行四舍五入取整,而不是单纯的保留整数部分) |
print('{:+.2f},{:+.0f},{:+.0f}'.format(79,-24.7,25.7)) 结果:+79.00,-25,+26 |
{:0<2d} | 针对整数进行数字对齐。>代表右对齐左边补0,<则相反。<>之前的元素代表填充内容。2代表原始数据+填充之后的总长度。如果数据长度>2,则原始数据原样输出。如果没有0,则不进行填充 |
print("{:0>2d},{:d<5d}".format(402,402)) 结果:402,402dd |
{:^10d} | 数字居中。 | print('{:^10d}.'.format(300))结果: 300 . |
{:,} | 以逗号分割的整数形式。该格式会对整数或者float数的整数部分进行作用。 |
print("{:,}".format(1121111.2324)) 结果:1,121,111.2324 |
{:.2%} | 将数据转化成百分比格式,小数点后保留2位。 | print('{:.3%}'.format(0.3)) 结果:30.000% |
{:.2e} | 指数计数法。并且底数部分小数点后保留2位(会进行四舍五入)。 | print('{:.2e}'.format(69898)) 结果:6.99e+04 |
{:b} |
进制转换。b\d\o\x分别代表二进制、十进制、八进制、十六进制.另外 #x和#X会在十六进制的结果前加“0x”,使用X时十六进制表示中会使用大写字母 |
print("{0:o},{1:#X}".format(34,26)) 结果:42,0X1A |
2.3 其他
- 如果在使用format时需要输出{}时,需要在{}外面再加一层{}进行转义
#如果在使用format时需要输出{}时,需要在{}外面再加一层{}进行转义
print('The name is {{{name}}},the url is {url}'\
.format(name='菜鸟',url='www.runobb.com'))
结果如下:
- Python中还可以直接通过在字符串开头添加f来使用format函数。