首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套格式规范合法吗?

嵌套格式规范合法吗?
EN

Stack Overflow用户
提问于 2018-06-30 01:58:44
回答 1查看 1.4K关注 0票数 15

最近,我遇到了一个奇怪的现象。嵌套{}-enclosed格式字段似乎在Python2.7和3.6中都能工作,但是我在文档中找不到任何应该这样做的东西。例如,我在3.6和2.7中都得到了以下结果:

代码语言:javascript
复制
>>> '{:{}.{}f}'.format(27.5, 6, 2)
' 27.50'

以前有人见过这个吗,这是一个预定的功能吗?通常情况下,我会认为这是一个实现的怪癖,也许我会把它报告为一个bug。但是有两件事: Python文档并不总是把所有的信息都放在我要查找的地方,这是一个非常好的特性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-30 02:06:31

在对“格式字符串语法”部分的介绍的末尾记录了这一点:

format_spec字段还可以包含嵌套的替换字段。这些嵌套替换字段可能包含字段名、转换标志和格式规范,但不允许进行更深层次的嵌套。在解释format_spec字符串之前,将替换format_spec中的替换字段。这允许动态指定值的格式设置。

这个特性的一些例子也可以在“格式示例”部分的末尾找到,例如:

代码语言:javascript
复制
>>> for align, text in zip('<^>', ['left', 'center', 'right']):
...     '{0:{fill}{align}16}'.format(text, fill=align, align=align)
...
'left<<<<<<<<<<<<'
'^^^^^center^^^^^'
'>>>>>>>>>>>right'
>>>
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51111136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档