Python中format函数字符串格式化入门
发布时间:2025-09-29 11:05:09
格式化在程序开发中很常见,大家肯定都很熟悉。Python中也有多种格式化方法,format函数就是其中之一。
函数原型
format(value[,format_spec])
参数意义
value: 需要格式化的字符串
format_spec: 格式化格式
函数定义与用法
这个函数根据format_spec的格式格式格式化值value。但是,函数解释format_spec是根据value的类型确定的,不同的类型有不同的格式解释。当参数format_spec为空时,这个函数相当于函数str(value)的方式。
format () 函数可以接受无限的参数,位置可以不按顺序。
其实这个函数调用的时候,就是format(value, format_spec)将type转换为type的方式(value).__format__(format_spec)调用方法,所以在value类型中找到方法__format__(),如果找不到这种方法,就会返回异常Typeeror。
format_spec的写作方法如下:
format_spec::=[[fill]align][sign][#][0][width][,][.precision][type] fill::=<anycharacter> align::="<"|">"|"="|"^" sign::="+"|"-"|"" width::=integerprecision::= integertype::="b"|"c"|"d"|"e"|"E"|"f"|"F"|"g"|"G"|"n"|"o"|"s"| "x"|"X"|"%" fill意味着任何字符都可以填写。 align是对齐,<是左对齐,>是右对齐,^是中对齐。 align是对齐,<是左对齐,>是右对齐,^是中对齐。 sign是符号,+表示正号,-表示负号。w idth是数字宽度,表示总输出多少位数字。 precision是小数保留位数。
兼容性
Python3.x
Python2.6及以上版本
注意事项
format是python2.6新增的格式化字符串方法,与旧版本的%格式方法相比,它具有许多优点。
1.不需要关注数据类型的问题。在%方法中,%s只能替代字符串类型
2.单个参数可以多次输出,参数顺序可以不同
3.填充方法非常灵活,对齐方法非常强大
4.官方推荐的方式,%的方式将在后面的版本中被淘汰
代码实例
print(format(2918)) print(format(0x500,'X')) print(format(3.14,'0=10')) print(format(3.14159,'05.3')) print(format(3.14159,'E')) print(format('test','<20')) print(format('test','>20')) print(format('test','^20'))
输出结果
2918 500 0000003.14 03.14 3.141590E+00 test test test