格式化python中的字符串出错了

时间:2017-09-16 10:12:02

标签: python-3.x string-formatting

以下是我的代码段。

bar = "Hello World"
print("%5s" % bar)

我正在尝试从打印 Hello 。但%5s 无法正常工作。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

这样做更简单:

bar = "Hello World"

print (bar[:5])

使用'%5s'将只返回整个字符串,因为字符串长度> 5个字符,如果您使用'%20' s,您将获得空格,后跟整个字符串,就像这样。

bar = "Hello World"
print("%20s" % bar)
>>>         Hello World

答案 1 :(得分:0)

在以下代码中:

bar = "Hello World"
print("%5s" % bar)

bar 的总宽度应超过5个字符,否则填充空格将被添加为前缀。

此处填充为5,但字符串长度为11。所以什么都不会发生。

在以下代码中:

bar = "Hello World"
print("%15s" % bar)

填充为15,超出字符串长度11。因此,4空格将在开头添加。

输出将是:----Hello World

-表示一个空格。

答案 2 :(得分:0)

如果短于5个字符,

%5s将用空格填充字符串 e.g。

>>> print("%5s" % "Hi")
   Hi

要截断字符串,您可以使用%.5s

>>> bar = "Hello World"
>>> print("%.5s" % bar)
Hello

或者可以按如下方式对字符串进行切片

>>> bar = "Hello World"
>>> print("%s" % bar[:5])
Hello