格式化字符串之填充
本帖最后由 lzb1001 于 2023-4-13 14:09 编辑b = "%10s" % ("黄同学")
print(b)
上面的代码用空格填充在字符串左边
如果用其他字符填充在字符串左边或右边应如何修改? 要使用其他字符填充字符串,您可以在格式化字符串中的%符号后添加一个填充字符。这里是一个例子,使用星号*作为填充字符:
b = "%*10s" % ('*', "黄同学")
print(b)
输出:
*****黄同学
如果您想在字符串的右边添加填充字符,可以使用str.ljust()或str.rjust()方法。这里有一个例子,使用ljust()在右边添加星号*:
b = "黄同学".ljust(10, '*')
print(b)
输出:
黄同学*****
如果要在左边添加填充字符,可以使用rjust()方法:
b = "黄同学".rjust(10, '*')
print(b)
输出:
*****黄同学 本帖最后由 lzb1001 于 2023-4-13 14:26 编辑
isdkz 发表于 2023-4-13 14:12
要使用其他字符填充字符串,您可以在格式化字符串中的%符号后添加一个填充字符。这里是一个例子,使用星号* ...
------------------------------------------
Windows 10 专业版 | Python 3.7.6
------------------------------------------
>>> b = "%*10s" % ('*', "黄同学")
Traceback (most recent call last):
File "<pyshell#111>", line 1, in <module>
b = "%*10s" % ('*', "黄同学")
TypeError: * wants int
>>> b = "%*10s" % ("*", "黄同学")
Traceback (most recent call last):
File "<pyshell#112>", line 1, in <module>
b = "%*10s" % ("*", "黄同学")
TypeError: * wants int lzb1001 发表于 2023-4-13 14:21
------------------------------------------
Windows 10 专业版 | Python 3.7.6
------------------ ...
非常抱歉,我之前的回答中给出的示例是错误的。在使用 % 进行字符串格式化时,无法直接指定非空格字符作为填充字符。请允许我纠正这个错误。
在这种情况下,您可以使用 str.format() 函数来实现相同的效果:
b = "{:*>10}".format("黄同学")
print(b)
输出:
*****黄同学
这里,我们在花括号 {} 内使用 :* 指定了填充字符为星号 *,并使用 >10 表示右对齐,总宽度为 10。 本帖最后由 lzb1001 于 2023-4-13 17:08 编辑
isdkz 发表于 2023-4-13 14:32
非常抱歉,我之前的回答中给出的示例是错误的。在使用 % 进行字符串格式化时,无法直接指定非空格字符作 ...
1、哦,那你的电脑为何:
b = "%*10s" % ('*', "黄同学")
print(b)
能返回:
*****黄同学
2、也就是说用%无法实现用其他字符来填充,必须使用format()方法才可以,是这个意思吗? 学习学习, lzb1001 发表于 2023-4-13 14:55
1、哦,那你的电脑为何:
b = "%*10s" % ('*', "黄同学")
chatgpt 歌者文明清理员 发表于 2023-4-13 19:34
chatgpt
chatgpt是一个学习python的好工具 本帖最后由 lzb1001 于 2023-4-14 09:55 编辑
按上面大神的提示使用chatGPT来学习,获得如下帮助:
问题1:
但大家发现没有:用*填充并不能实现(即返回的结果中并没有填充的*),不知道怎么回事?
---以下也是chatGPT的回复:注意红色标注!看来chatGPT也不一定靠谱啊……
问题2:
填充和对齐有以下两种方式,我想问的是下面代码中*的作用?没看懂它
---左填充/右对齐(默认):"%10s" % ("字符串")或"%*s" % (10, "字符串")
---右填充/左对齐:"%-10s" % ("字符串")或”%-*s”% (10,“字符串”)
---两侧填充/居中对齐:不可
按上面chatGPT的提示:“ * ”表示宽度由参数自动决定,此时需要在占位符前面再传入一个元组来指定宽度。 lzb1001 发表于 2023-4-14 02:07
按上面大神的提示使用chatGPT来学习,获得如下帮助:
没有大神关注接着话题继续哦 lzb1001 发表于 2023-4-14 02:07
按上面大神的提示使用chatGPT来学习,获得如下帮助:
图片看不到 歌者文明清理员 发表于 2023-4-14 17:22
图片看不到
???没看懂呢 lzb1001 发表于 2023-4-14 21:23
???没看懂呢
现在看到了
chatgpt的资源是从网上学习的,可能看到了些错误的内容,或者在看一个视频的时候(比如小甲鱼的课程),文字识别错误
或者是中英文的一个差异
页:
[1]