Python中给字符串添加填充

2025年1月5日 | 阅读 5 分钟

“字符串填充”一词描述了在字符串的一端或两端追加非描述性字符的做法。虽然这通常是为了输出对齐和格式化,但它也有一些实际的应用。

填充字符串通常用于生成看起来像表格的数据。有几种方法可以实现这一点,其中一种方法是使用 Pandas 将数据转换为表格。然后 Python 将自行处理输出格式。

在本文中,我们将讨论如何在 Python 中填充字符串。

通常使用两种填充方式

  1. 左填充 (ljust):在字符串的左侧添加字符,以达到指定的宽度。
  2. 右填充 (rjust):在字符串的右侧添加字符,以达到指定的宽度。

左填充

ljust 方法通过在右侧添加字符(默认为空格)来左对齐字符串,直到达到所需的宽度。

程序

输出

Hello*****

说明

在此示例中,原始字符串“Hello”用星号 (*) 进行左填充,以达到 10 个字符的总宽度。

右填充

rjust 方法用于在指定的宽度内右对齐字符串,通过在字符串的左侧添加指定的字符(默认为空格),直到达到所需的宽度。

程序

输出

*****Hello

说明

在此示例中,原始字符串“Hello”用星号 (*) 进行右填充,以达到 10 个字符的总宽度。

居中填充

使用 center() 方法填充 center() 方法以字符串作为输入,并通过在字符串两侧留出空隙来将字符串放置在中间,直到达到定义的长度。

如果您想用其他字符填充空隙,请使用 fillchar 选项。Fillchar 接受任何符号来填充空隙。

注意:Fillchar 只能接受一个符号;指定多个符号会导致错误。

错误是 TypeError: The fill character must be exactly one character long

示例

让我们看一个关于 center() 方法的示例程序。

程序

输出

The string after using center() function :                           Hi welcome to javaTpoint. Nice to see you again

说明

程序示例以字符串作为输入。我们将宽度指定为 100。center 方法计算宽度与字符串长度之间的差值,并在输出字符串之前用两侧的空隙填充该差值。

使用 center() 方法进行填充

center() 方法以字符串作为输入,并通过在字符串两侧留出空隙来将字符串放置在中间,直到达到定义的长度。

如果您想用其他字符填充空隙,请使用 fillchar 选项。Fillchar 接受任何符号来填充空隙。

注意:Fillchar 只能接受一个符号;指定多个符号会导致错误。

错误是 TypeError: The fill character must be exactly one character long

示例

让我们看一个关于 center() 方法的示例程序。

程序

输出

The string after using the center() function : Hi welcome to javaTpoint. Nice to see you again

说明

程序示例以字符串作为输入。我们将宽度指定为 100。center 方法计算宽度与字符串长度之间的差值,并在输出字符串之前用两侧的空隙填充该差值。

格式化字符串方法

您可以使用格式化字符串通过指定宽度和对齐方式来实现填充。

居中填充

在字符串格式化中,^ 用作居中对齐说明符。当在格式化字符串(f-string 或 format 方法)中使用时,它确保内容在指定空间内居中。

程序

输出

*****javaTpoint*****

说明

在这里,我们使用了 *^20 来为宽度为 20 的文本提供居中对齐。

左填充

如果您想在 f-string 中左对齐变量,可以使用 < 字符和所需的最小宽度。

示例

这是一个示例

程序

输出

Name: John Age: 25

说明

我们使用了 f-string,通过添加宽度 10 的 < 符号来应用左对齐。

变量名至少占用 10 个字符,任何剩余的字符将在右侧用空格填充,以满足指定的宽度。

右填充

如果您想在 f-string 中右对齐变量,请使用 > 字符和所需的最小宽度。

程序

输出

Name: AliceAge: 30

说明

变量名至少占用 10 个字符,任何剩余的字符将在左侧用空格填充,以满足指定的宽度。

str.zfill()

zfill() 方法在字符串长度达到指定长度之前向字符串添加前导零。如果字符串的长度等于或大于指定的长度,则不执行填充。

示例 1

这是一个示例程序。

程序

输出

0000000000JAVATPOINT

说明

在这里,我们使用 zfill 方法向文本添加前导零,直到其长度为 20。

示例 2

程序

输出

Hello World 
welcome to javaTpoint
000501.000

说明

“Hello World ”的长度是 12。它在左侧添加零,使总宽度为 10。

“welcome to javaTpoint”的长度是 23,所以它在左侧添加零,使总宽度为 10。

“501.000”的长度是 7,所以它在左侧添加零,使总宽度为 10。

结论

填充是一种可以增强格式化和对齐效果,从而改善文本视觉吸引力的技术。填充良好的字符串可以提高美观度和可读性。文本元素周围的适当间距可以防止视觉混乱,使内容更加用户友好。填充也可以作为输入验证机制的一部分,以确保用户输入满足特定的长度要求。

总之,对段落内的字符串进行填充可以有效地增强文本内容的视觉效果、流畅性和结构。但是,在使用它时,必须谨慎行事,考虑具体需求以及对存储和处理效率可能产生的后果。