You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中格式化字符串时无法使用变量指定宽度如何解决?

解决格式化字符串中用变量指定对齐宽度的问题

你遇到的问题是因为格式说明符里的x被当成了字面字符,而非变量引用。以下是几种可行的解决方式:

方法1:使用f-string(Python 3.6及以上)

这是最直观简洁的写法,直接在格式字符串中嵌入变量:

x = 5
y = "test"
print(f"{y:<{x}}|")

运行后会输出test |(test后补1个空格,总宽度为5,末尾拼接|)。

方法2:在format中传递宽度参数

通过嵌套占位符,先传入宽度变量再指定对齐规则:

x = 5
y = "test"
print("{:<{}}|".format(y, x))

这里第一个{}对应字符串y,第二个{}对应宽度变量x,格式说明符里的<表示左对齐。

方法3:旧式%格式化(兼容旧版Python)

如果需要兼容Python 3.6之前的版本,可以用这种写法:

x = 5
y = "test"
print("%-*s|" % (x, y))

-表示左对齐,*用来接收宽度变量x,s表示按字符串格式处理。

内容的提问来源于stack exchange,提问作者h h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:50:29