最近,我遇到了以下奇怪情况。嵌套{}封闭的格式字段似乎在Python 2.7和3.6中都可以使用,但是我在文档中找不到任何可以说明的信息。例如,在3.6和2.7上都得到以下结果:>>> '{:{}.{}f}'.format(27.5, 6, 2)' 27.50'以前有没有人看过它,这是预期的功能吗?通常,我会将其视为实现怪癖,甚至可能将其报告为错误。不过,有两件事:Python文档并不总是将所有信息都放在我想要的位置,这是一个非常不错的功能。
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
在“设置格式字符串语法”部分的介绍结尾处对此进行了记录:
甲format_spec字段也可包括在其内嵌套替换字段。这些嵌套的替换字段可能包含字段名称,转换标志和格式说明,但不允许更深层的嵌套。在解释format_spec字符串之前,将替换format_spec中的替换字段。这允许动态指定值的格式。
也可以在“格式示例”部分的末尾找到此功能的一些示例,例如:
>>> for align, text in zip('<^>', ['left', 'center', 'right']):
... '{0:{fill}{align}16}'.format(text, fill=align, align=align)
...
'left<<<<<<<<<<<<'
'^^^^^center^^^^^'
'>>>>>>>>>>>right'
>>>
添加回答
举报
0/150
提交
取消