1 #format()函数:格式化字符串的函数str.format()这个方法会把字符串当作一个模板,
2 #通过传入的参数进行格式化。这个用来格式化的模板使用大括号{}作为特殊字符
3 #总结:format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次
4
5 gsh="{0} love {1}{2}".format("I","bcyc","zhhb")
6 print(gsh)
7 lz="{1},{0},{1}"
8 lz_jg=lz.format("山东","中国")
9 print(lz_jg)
10
11 #通过关键字参数,注意:综合使用,位置参数必须在关键字参数之前。
12
13 lz_jg="{a} love {b}{c}".format(a="I",b="bcyc",c="zhhb")
14 print(lz_jg)
15
16 lz_jg="{0} love {b}{c}".format("我的家乡",b="bcyc",c="zhhb")
17 print(lz_jg)
18
19 #通过下标
20 p=["bcyczhhb",18]
21 lz_jg="{0[0]},{0[1]}".format(p)
22 print(lz_jg)
23
24 #格式限定符:它有着丰富的“格式限定符”(语法是{}中带:号)^,<,>分别是居中,左对齐
25 #右对齐,后面带宽度。:后面带填充的字符,只能是一个字符,不指定的话,默认是用
26 #空格填充
27 lz_jg="{:a^8}".format("中国")
28 lz2_jg="{:a<8}".format("中国")
29 lz3_jg="{:a>8}".format("山东")
30 lz4_jg="{:b>8}".format("滨州")
31 print(lz_jg,lz2_jg,lz3_jg,lz4_jg)
32
33 #精度与类型f
34 #
35 lz_jg="{:.2f}".format(321.33345)# 其中.2表示长度为2的精度,f表示float类型
36 print("得到的结果是:%s,它是两位小数。"%lz_jg)
37 #以上这个打印结果,字符串和变量之间没有逗号,变量的%后面有没有括号是一样的。
38
39 #其它类型:b.d.o.x分别是二进制、十进制、八进制、十六进制
40 #
41 #
42 lz_jg="{:b}".format(17) #转化为二进制。
43 lz2_jg="{:d}".format(17)
44 lz3_jg="{:o}".format(17)
45 lz4_jg="{:x}".format(17)
46 print(lz_jg,lz2_jg,lz3_jg,lz4_jg)
47 #
48 #用,号还能用来做金额的千位分隔符
49 lz_jg="{:,}".format(1234567890)
50 print(lz_jg)
51
52 lz_jg="{0:.1f}{1}".format(8280.218," 4980")
53 print(lz_jg)
54 print("\ta") #\t表示是制表符TAB 和缩进差不多
55 print("\\")# 转义输出\
56 #字符串格式化符号含义
57 #%c 格式化字符串及其ASCLL码
58 #%s 格式化字符串
59 #%d 格式化整数
60 #%o 格式化无符号八进制数
61 lz_jg="%c" %97
62 print(lz_jg)
63 lz_jg="%c %c %c" %(97,98,99)#多个变量,就要用括号括起来了。
64 print(lz_jg)
65 lz_jg="要显示的内容为:%s" % "中国山东济南滨州"
66 print(lz_jg)
67 lz_jg="加法运算:%d+%d=%d" %(4,5,4+5)
68 print(lz_jg)
69 lz_jg="%d的八进制结果显示为:%o" % (10,10)
70 print(lz_jg)
71 #%x格式化无符号十六进制数
72 #%X格式化无符号十六进制数(大写)
73 #%f格式化定点数,可指定小数点后的精度
74 #%e用科学计算法格式化定点数
75 #%g根据值的大小决定使用%f或%e
76 lz_jg="十六进制结果显示为(小写):%x" %10
77 print(lz_jg)
78
79 lz_jg="十六进制结果显示为(大写):%X" %10
80 print(lz_jg)
81
82 lz_jg="格式化定点数结果显示为:%f" %27.123
83 print(lz_jg)
84
85 lz_jg="科学计算法结果显示为:%e" %27.123
86 print(lz_jg)
87 lz_jg="%g" %27.123
88 print(lz_jg)
89 #m.n m 是显示的最小总宽度,n是小数点后的位数。
90 #-用于左对齐
91 ##号用在八进制数前显示0o,在十六进制前显示0x或0X
92 # 0显示的数字前面填充0 取代空格
93 lz_jg="%6.1f" %27.123
94 print(lz_jg)
95 lz_jg="%-6.1f" %27.123 #左对齐
96 print(lz_jg)
97 lz_jg="%.2e" %27.123 #科学计算法
98 print(lz_jg)
99 lz_jg="%010d" %5 # 0显示的数字前面填充0 取代空格
100 print(lz_jg)
101 lz_jg="%#o" %10 #在结果前显示0o
102 print(lz_jg)
103 lz_jg="%#x" %17 #在结果前显示0x
104 print(lz_jg)