Python-format格式化输出函数使用方法

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函数。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章