暴躁小熊猫 发表于 2023-6-10 00:28:08

就是填充字符只能填充单个字符???

>>> x.ljust(15, "哎")
'有内鬼,停止交易!哎哎哎哎哎哎'
>>> x.ljust(15, "哎哟哎哟哎哟")
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
    x.ljust(15, "哎哟哎哟哎哟")
TypeError: The fill character must be exactly one character long
>>> x.ljust(15, "哎哟")
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
    x.ljust(15, "哎哟")
TypeError: The fill character must be exactly one character long

isdkz 发表于 2023-6-10 00:28:49

是的,字符串的ljust()方法只能用单个字符进行填充。在你的例子中,当你尝试使用多个字符作为填充字符时,Python 报错并指出填充字符必须是一个字符长。

所以,你只能使用一个单字符来填充字符串。如果你需要使用多个字符进行填充,你可以考虑使用其他方法来实现该功能,例如使用循环或者自定义函数来达到你的目的。

陶远航 发表于 2023-6-10 00:28:56

在Python的字符串方法.ljust(width, fillchar)中,fillchar参数需要是一个长度为1的字符。如果提供了一个长度大于1的字符串,就会出现TypeError异常。

在您的第二个示例中,您传递了一个由多个字符组成的字符串作为fillchar参数,这导致Python引发了TypeError异常。同样,第一个示例使用了一个长度为3的字符串作为fillchar参数,虽然它没有抛出异常,但将三个字符用于填充单个字符时可能会导致预期外的结果。

要避免这些问题,请确保fillchar参数是一个单独的字符,例如:

x = '有内鬼,停止交易!'
print(x.ljust(15, "哎"))    # 有内鬼,停止交易!哎哎哎哎哎哎

# 下面这两个示例都会引发 TypeError 异常
print(x.ljust(15, "哎哟哎哟哎哟"))
print(x.ljust(15, "哎哟"))

歌者文明清理员 发表于 2023-6-10 00:31:47

陶远航 发表于 2023-6-10 00:28
在Python的字符串方法.ljust(width, fillchar)中,fillchar参数需要是一个长度为1的字符。如果提供了一个长 ...

6

陶远航 发表于 2023-6-10 00:32:10

歌者文明清理员 发表于 2023-6-10 00:31
6

{:10_256:}

暴躁小熊猫 发表于 2023-6-10 00:33:03

陶远航 发表于 2023-6-10 00:28
在Python的字符串方法.ljust(width, fillchar)中,fillchar参数需要是一个长度为1的字符。如果提供了一个长 ...

谢谢!!!明白了
页: [1]
查看完整版本: 就是填充字符只能填充单个字符???