最近,我遇到了以下奇怪情況。嵌套{}封閉的格式字段似乎在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
提交
取消