如何在 Python f-string 中指定文字字符串的宽度?

Kev*_*ter 2 python python-3.x

在 Python 3.6+ 中,可以使用 f 字符串在指定宽度的列中打印整数文字,如

print(f"{1:10}{2:10}{3:10}")
Run Code Online (Sandbox Code Playgroud)

我怎样才能对字符串文字做类似的事情?即,不是在 10 个字符的列中打印 1、2 和 3,我将如何在 10 个字符的列中打印“一”、“二”和“三”?

可以使用带有一行代码的 f-string 来完成,还是必须按如下方式进行编码?

a = "One"
b = "Two"
c = "Three"
print(f"{a:10}{b:10}{c:10}"
Run Code Online (Sandbox Code Playgroud)

jda*_*daz 7

您可以使用以下格式对字符串进行单行:

print(f"{'One':>10}")
#        One
Run Code Online (Sandbox Code Playgroud)

请参阅此处的文档。请注意相关部分:

>强制字段在可用空间内右对齐(这是数字的默认值)

(强调)

这就是为什么您不需要>格式化数字时的原因。