2019.1.2字符串格式化的内容
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)