嵌套格式规范合法吗?

最近,我遇到了以下奇怪情况。嵌套{}封闭的格式字段似乎在Python 2.7和3.6中都可以使用,但是我在文档中找不到任何可以说明的信息。例如,在3.6和2.7上都得到以下结果:


>>> '{:{}.{}f}'.format(27.5, 6, 2)

' 27.50'

以前有没有人看过它,这是预期的功能吗?通常,我会将其视为实现怪癖,甚至可能将其报告为错误。不过,有两件事:Python文档并不总是将所有信息都放在我想要的位置,这是一个非常不错的功能。


LEATH
浏览 156回答 1
1回答

元芳怎么了

在“设置格式字符串语法”部分的介绍结尾处对此进行了记录:甲format_spec字段也可包括在其内嵌套替换字段。这些嵌套的替换字段可能包含字段名称,转换标志和格式说明,但不允许更深层的嵌套。在解释format_spec字符串之前,将替换format_spec中的替换字段。这允许动态指定值的格式。也可以在“格式示例”部分的末尾找到此功能的一些示例,例如:>>> for align, text in zip('<^>', ['left', 'center', 'right']):...&nbsp; &nbsp; &nbsp;'{0:{fill}{align}16}'.format(text, fill=align, align=align)...'left<<<<<<<<<<<<''^^^^^center^^^^^''>>>>>>>>>>>right'>>>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python