Python格式化字符串中的变量

3

我想知道是否可以在f字符串中添加一个变量来指定要打印的项目的宽度。

例如:

print("{:>5}".format("cat"))

在示例中,我如何将5替换为可以在运行时更改的变量。

4
pad = 5; print("{:>{x}}".format("cat", x = pad))这段代码的意思是将字符串"cat"格式化输出,使其在一个长度为pad的区域内右对齐。其中"{:>x}"表示右对齐,">"表示对齐方向为右,"x"表示占位符的宽度由变量x指定,变量x的值为pad。最终输出结果为:" cat"(前面有两个空格)。 - 001
2个回答

1

在f字符串中

使用术语“f字符串”时要小心--您正在谈论格式化字符串,而“f字符串”是Python最新版本的一个功能,它是不同但相关的:

animal = 'cat'
pad = 5

print(f"{animal:>{pad}}")

否则,如果你只需要一个没有f-string的格式字符串,那么@JohnnyMopp的评论(+1)展示了正确的语法。

0

方法如下:

a = 5
print("{:>"f"{a}""}".format("cat"))

输出:

  cat



你也可以使用 str.rjust() 来实现:

a = 5
print("cat".rjust(a))

输出:

  cat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接