format的使用

format——格式化字符串的函数

print('{} {}'.format('hello','world'))	# hello world
print('{0} {1} {0}'.format('hello','world'))	# hello world hello
print('{1} {1} {1}'.format('hello', 'world'))	# world world world
print('网站名:{name}, 地址{url}'.format(name='菜鸟教程', url='www.runoob.com'))
# 网站名:菜鸟教程, 地址www.runoob.com

# 通过字典名设置参数
site = {"name": '菜鸟教程', 'url': 'www.runoob.com'}
print('网站名:{name},地址{url}'.format(**site))
# 网站名:菜鸟教程,地址www.runoob.com

# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print('网站名:{0[0]}, 地址{0[1]}'.format(my_list))	# "0"是必须的
# 网站名:菜鸟教程, 地址www.runoob.com

# 通过元组 
demo = ('s', 'zj')
print('姓:{0} 名: {1}'.format(*demo))
# 姓:s 名: zj

数字格式化

# :后面带填充的字符,不指定则默认用空格填充

# + 表示在正数前面显示+,负数前面显示-
print("{:.2f}".format(3.1415926))	# 3.14
print("{:+.2f}".format(3.1415926))	# +3.14
print("{:+.2f}".format(-1))			# -1.00

# (空格)表示在正数前面加上空格
print("{: }".format(21))			#  21 
print("{: }".format(-21))			# -21

# 不带小数,四舍五入
print("{:.0f}".format(2.731823))	# 3
print("{:.0f}".format(2.331823))	# 2

# 字符填充,< 填充右边,> 、= 填充左边
print("{:0>2d}".format(5))			# 05
print("{:x>4d}".format(5))			# xxx5
print("{:x=4d}".format(5))			# xxx5
print("{:x<4d}".format(5))			# 5xxx
print("{:x<4d}".format(10))			# 10xx

# 以逗号分隔的数字格式
print("{:,}".format(100000))		# 100,000

# 以百分比的形式显示
print("{:.0%}".format(0.25))		# 25%
print("{:.2%}".format(0.25))		# 25.00%
print("{:.3%}".format(0.25))		# 25.000%

# 指数记法
print("{:.2e}".format(100000))		# 1.00e+05
print("{:.1e}".format(100000))		# 1.0e+05
print("{:.0e}".format(100000))		# 1e+05

# 对齐方式,默认右对齐,< 左对齐,^居中,10d为宽度
print("{:10d}".format(660))			#        660
print("{:<10d}".format(660))		# 660   
print("{:^10d}".format(660)) 		#    660
	
import math
# 以货币的形式显示
print('1234+5678的结果是(以货币的形式显示):¥{:.2f}元'.format(1234+5678))
print('{0:.1f}用科学记数法表示:{0:E}'.format(120000.1))
print('Π取5位小数为:{:.5f}'.format(math.pi))
print('{0:d}16进制的结果是:{0:#x}'.format(100))
print('天才是由{0:.0%}的汗水和{1:.0%}的灵感组成'.format(0.99, 0.01))
原文地址:https://www.cnblogs.com/rainszj/p/11252054.html