博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python内置函数之format()

Posted on 2017-08-14 10:53  开飞机的贝塔  阅读(559)  评论(0编辑  收藏  举报

format(value[,format_spec])
返回字符串对象。

可以用来格式化value。

>>> format(12,'0.3f') #保留3位小数
'12.000'
>>> '{2}'.format('hello','i','am','tom') #格式化字符串
'am'

还可以用来进制转化:

>>> format(3,'b') #二进制转化
'11'
>>> format(3,'d') #十进制转化
'3'
>>> format(3,'n') #十进制转化
'3'
>>> format(3,'x') #十六进制转化
'3'
>>> format(12,'x')
'c'
>>> format(12,'o') #8进制转化
'14'

提示:

这里有一个规律,我们知道十二进制前面都有0x,八进制前缀为0o,其实都是类似0+字母,这样的组合。

 

下面来介绍介绍格式化字符串,他是和format()搭档出现的。

格式化字符串由{}以及被{}包含的替换字段组成,比如"{0}"。

目前支持三个转换标志,"!s"、"!a"以及"!r",分别表示调用str()、ascii()以及repr()方法。

 

格式符

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

语法:

%[(name)][flags][width].[precision]typecode

(name)为命名

flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

width表示显示宽度

precision表示小数点后精度。