python中的十大%占位符对应的格式化的使用方法
字符串格式化里的符号很多,本文详细的介绍一下,以便随时查找。
%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)
指定占位符宽度
>>> print ("Name : %10s, Age : %9d, Height: %8.2f"%("tom", 37, 2.29)) Name : tom, Age : 37, Height : 2.29
格式比较难看, 下面我们来做一下对齐
指定占位符宽度 - 左对齐
>>> print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("tom", 37, 2.29)) Name : tom , Age : 37 , Height : 2.29 备注:格式化可选标志符, 可选参数 + 右对齐;正数前加正好,负数前加负号; - 左对齐;正数前无符号,负数前加负号; 空格 右对齐;正数前加空格,负数前加负号; 0 右对齐;正数前无符号,负数前加负号;用0填充空白处 如: -10s, 表示10个字符串位置, 左对齐,后面用空格填充
指定占位符 - 用0当占位符
>>> print ("Name : %-10s, Age : %09d, Height : %08.2f"%("tom", 37, 2.29)) Name : tom , Age : 000000037, Height : 00002.29
总结
占位符的使用非常常见, 也非常实用, 它可以很好的帮助我们解决一些字符串格式化的问题, 变换出多种用法, 一些常用的占位符大家可以记住, 以便提升编程效率。
到此这篇关于python中的十大%占位符对应的格式化的使用方法的文章就介绍到这了,更多相关python 占位符格式化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)