下面使我们经常在开发过程中用到的占位符,了解一下。
''' %s :字符串的格式化,也是最常用的 %d :格式化整数,也比较常用 %c :格式化字符及ASCII码 %u :格式化无符号整型 %f :格式化浮点数,可以指定小数后面的精度 %e :使用科学计数法格式化浮点数 %o :格式化无符号八进制数 %x :格式化无符号十六进制数 %p :十六进制数格式化变量地址 %g :%e和%f的简写 '''
演示一下各个占位符格式化使用时的效果。
'''格式化字符串''' var_s = '%s' % '我是一个字符串' print(var_s) '''格式化整数''' var_d = '%d' % 10 print(var_d) '''格式化字符''' var_c = '%c' % "w" print(var_c) # 格式化字符,这里必须是一个字符不能是字符串,否则就会出现下面的错误。 var_c = '%c' % "water" print(var_c) # var_c = '%c' % "water" # TypeError: %c requires int or char '''格式化无符号整型''' var_u = '%u' % 123 print(var_u) '''格式化浮点数''' var_f = '%.2f' % 2.3 print(var_f) '''科学计数法格式化浮点数''' var_e = '%e' % 2.3333333 print(var_e) '''格式化无符号八进制数''' var_o = '%o' % 100 print(var_o) # 得到的结果是144 # 可以使用int函数将得到的八进制再转换成十进制结果是100,和我们的预想是一样的。 print(int('144',8)) '''格式化无符号十六进制数''' var_x = '%x' % 100 print(var_x) # 得到的结果是64 print(int('64',16)) # 同理,再转换回来结果是100 '''十六进制格式化变量地址''' var_p = '%p' % '144' print(var_p) # ValueError: unsupported format character 'p' (0x70) at index 1 # 执行%p的格式化时发现是不支持的,头一回用竟然不支持。 '''%e与%f的缩写''' var_g = '%.3g' % 2.12 print(var_g)