python 中的 format() 函数 - 使用多个大括号 {{{}}}
format() function in python - Usage of multiple curly brackets {{{}}}
再次:)
我找到了这段代码
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评价这个说法?为什么我们在每次迭代中只有一个元素要格式化时使用三个 {?
当您执行 {{}}
时,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文档。
再次:)
我找到了这段代码
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评价这个说法?为什么我们在每次迭代中只有一个元素要格式化时使用三个 {?
当您执行 {{}}
时,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文档。