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))