python - 如何在 Python 格式说明符中使用变量名

是否可以在 Python 字符串格式说明符中使用变量?

我试过了:

display_width = 50
print('\n{:^display_width}'.format('some text here'))

但得到一个 ValueError: Invalid format specifier。我也试过 display_width = str(50)

但是,只需输入 print('\n{:^50}'.format('some text here')) 就可以了。

最佳答案

是的,但您必须将它们作为参数传递给 format,然后像使用参数名称本身一样引用包裹在 {} 中的它们:

print('\n{:^{display_width}}'.format('some text here', display_width=display_width))

或者更短但不那么明确:

print('\n{:^{}}'.format('some text here', display_width))

自从这个问题最初发布以来,Python 3.6 添加了 f-strings,它允许您在不使用 format 方法的情况下执行此操作,并且它使用范围内的变量而不是必须传入命名变量作为关键字参数:

display_width = 50
text = 'some text here'
print(f'\n{text:^{display_width}}')

https://stackoverflow.com/questions/29044940/

相关文章:

r - 通过带有条件格式的 xlsx 将数据框导出到 Excel

xcode4 - XCode 4 注释格式(换行)

c++ - 对于 GCC <5,是否有 std::put_time 的内置替代方案?

powershell - 在 PowerShell 中导出为 CSV 时如何指定列顺序?

r - 如何在 R Shiny 中对数据帧进行条件格式设置?

html - 格式丰富的内容用什么标记语言?

string - 固定宽度数字格式化python 3

url - 查询字符串中是否有任何格式约定?

c++ - 使用 Visual Studio 进行高级 (C++) 源代码重新格式化?

arrays - 填充表格数据的打印输出