#!/usr/bin/env python # -*- coding:utf-8 -*-# 百分号格式化 # %[(name)[flags][width].[precision]]typecode # name : 指定占位符的key # flags : + - 空格 0 # width : 宽度 # precision : 小数点后保留的位数 # typecode : 必需,数据类型 # 字符串里面有%的时候, %%表示一个 %字符串 s = "i am %s,age %d" % ("guolei", 18) print(s)s = "i am %(n1)+10s,age %(n2)+10d" % {"n1": "alex", "n2": 18} print(s)s = "i am %.2f sdfsd" % 1.2 print(s)# Format格式化 # [[fill]align][sign][#][0][width][,][.precision][type] # fill 空白处填充的字符 # align 对齐方式 < > = ^ # sign 有无符号数字 +:正号加正,负号加负,-:正号不变,负号加负,空格:正号空格,负号加负 # 对于2,8,16进制,如果加上#,会显示 0b/0o/0x,否则不显示 # , 为数字添加分隔符,1,000,000 # width 宽度 # .precision 小数保留精度 # type 格式化类型 s = "i am {:.2%}asdf".format(12) print(s)s = "i am {},age {},{}".format("alex", 18, "guolei") s = "i am {},age {},{}".format(*["alex", 18, "guolei"]) s = "i am {0},age {1},{0}".format(*["alex", 18]) s = "i am {name},age {age},{name}".format(name="alex", age=18) s = "i am {name},age {age},{name}".format(**{"name": "alex", "age": 18}) s = "i am {0[0]},age {0[1]},{0[2]}".format([1, 2, 3], [4, 5, 6]) s = "i am {:s},age {:d},{:f}".format("alex", 18, 2.222) s = "i am {name:s},age {age:d},{num:f}".format(name="alex", age=18, num=1.22) s = "i am {name:s},age {age:d},{num:f}".format(**{"name": "alex", "age": 18, "num": 1.22}) s = "i am {:#b},age {:o},{:x}".format(10, 10, 18) print(s) s = "i am {0[0]},age {0[1]}".format(["alex", 18]) print(s)