再次:)
我找到了这段代码
col_width=[13,11]
header=['First Name','Last Name']
format_specs = ["{{:{}}}".format(col_width[i]) for i in range(len(col_width))]
lheader=[format_specs[i].format(self.__header[i]) for i in range(nb_columns)]
Python如何评估此声明?为什么我们使用三个{当我们在每次迭代中都有一个元素格式化时?
答案 0 :(得分:1)
当你执行{{}}
时,python会跳过{}
的替换,并使其成为string
的一部分。以下是解释此问题的示例:
>>> '{{}}'.format(3) # with two '{{}}'
'{}' # nothing added to the string, instead made inner `{}` as the part of string
>>> '{{{}}}'.format(3) # with three '{{{}}}'
'{3}' # replaced third one with the number
同样,您的表达式评估为:
>>> '{{:{}}}'.format(3)
'{:3}' # during creation of "format_specs"
有关详细信息,请参阅:Format String Syntax文档。