鱼C论坛

 找回密码
 立即注册
查看: 3472|回复: 3

[已解决]format函数左对齐为何不能用赋值的字母代替

[复制链接]
发表于 2023-9-10 18:09:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入:
c="{:*>10}".format('123')
print(c)
输出:
*******123

输入:
a=10
c="{:*>a}".format('123')
print(c)
就会报错,报错内容:str的对象的格式代码未知

如果改的话应该怎么改,又为什么不能用赋值的a代替
最佳答案
2023-9-10 18:09:37
在字符串格式化中,对齐和填充的宽度是通过格式化语法中的字段宽度来指定的。字段宽度可以是一个整数字面值,也可以是一个变量。然而,如果你想使用变量作为字段宽度值,不能直接在格式化字符串中使用变量名。

这是因为在格式化字符串中,字段宽度是一个固定的文本部分,不能包含变量或表达式。所以,你不能直接将变量a放在格式化字符串中。

如果你想动态地指定字段宽度,可以使用传递参数的方式进行字符串格式化。下面是一种可以实现你想要的效果的方法:

  1. a = 10
  2. c = "{:*>{}}".format('123', a)
  3. print(c)
复制代码


在上述代码中,我们使用了{:*>{}}的格式化模板,并将a作为第二个参数传递给.format()方法,以动态指定字段宽度。这样就能够根据变量a的值来对齐和填充字符串。

输出结果将是:

  1. ******123
复制代码


通过这种方式,你可以根据变量的值来动态调整字段宽度,实现左对齐和填充的需求。
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 03:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表