在 Python 中用空格填充字符串

Vaibhhav Khetarpal 2023年1月30日
  1. 在 Python 中使用 ljust() 函数用空格填充字符串的右端
  2. 在 Python 中使用 rjust() 函数用空格填充字符串的左端
  3. 在 Python 中使用 center() 函数用空格填充字符串的两端
  4. 在 Python 中使用带有模数 (%) 运算符的字符串格式来填充带有空格的字符串
  5. 在 Python 中使用带有 str.format() 函数的字符串格式化来填充带有空格的字符串
  6. 在 Python 中使用带有 f-strings 的字符串格式来填充带有空格的字符串
在 Python 中用空格填充字符串

填充可以定义为插入非信息性字符,这些字符不会向给定字符串添加任何值。它可以在字符串的任何一端或两端完成。

字符串填充很有用,在字符串格式化和在打印时设置字符串的对齐方式时非常有用。本教程讨论可用于在 Python 中用空格填充字符串的不同方法。

在 Python 中使用 ljust() 函数用空格填充字符串的右端

ljust() 函数用于向字符串添加正确的填充,这意味着向字符串的右端填充。

ljust() 函数包含两个参数:widthfillcharwidth 参数是强制性的,它指定填充过程完成后给定字符串的长度。fillchar 参数是可选的,用于表示我们想要填充字符串的字符。

默认情况下,fillchar 值是一个空格字符,即' '

以下代码使用 ljust() 函数在 Python 中用空格填充字符串的右端。

a = "I am legend"
print(a.ljust(15))

输出:

I am legend    

在 Python 中使用 rjust() 函数用空格填充字符串的左端

ljust() 函数具有相似的风格但用途不同,rjust() 函数用于向字符串添加左填充。

类似于 ljust() 函数,rjust() 函数包含两个参数:widthfillcharwidth 参数是强制性的,它指定填充过程完成后给定字符串的长度。另一方面,fillchar 参数是可选的,用于表示我们想要填充字符串的字符。

当我们需要命名以数字开头的文件时,此功能非常有用,因为它有助于实现更直观的排序实践。

以下代码使用 rjust() 函数在 Python 中用空格填充字符串的左端。

a = "I am legend"
print(a.rjust(15, " "))

输出:

    I am legend

在 Python 中使用 center() 函数用空格填充字符串的两端

center() 函数向字符串的两端添加等量的填充。它用于将字符串与给定的字符串宽度居中对齐。

ljust()rjust() 方法非常相似,center() 函数包含两个参数:widthfillchar。这两个函数执行完全相同的工作,如上文文章中解释的两种方法中所述。

以下代码使用 center() 函数在 Python 中用空格填充字符串的两端。

a = "I am legend"
print(a.center(20))

输出:

    I am legend     

在 Python 中使用带有模数 (%) 运算符的字符串格式来填充带有空格的字符串

% 符号,有时也称为字符串格式化或插值运算符,是在 Python 中实现字符串格式化的一种方式。作为实现字符串格式化的最古老的可用方法,此运算符适用于几乎所有版本的 Python。

% 符号和代表转换类型的字母被标记为变量的占位符。

以下代码使用带有模数 (%) 运算符的字符串格式化,在 Python 中用空格填充字符串。

print("%15s" % ("I am legend"))

输出:

    I am legend

在上面的程序中,我们对字符串进行左填充。我们可以类似地使用以下代码进行正确的填充。

print("%-15s" % ("I am legend"))

输出:

I am legend    

在这里,唯一的缺点是它只能在字符串的左端或右端实现填充,而不能同时实现两端。而且,使用这种方法会影响程序的可读性。

在 Python 中使用带有 str.format() 函数的字符串格式化来填充带有空格的字符串

在 Python 中实现字符串格式化的另一种方法是使用 str.format() 函数。此过程使大括号 {} 标记 print 语句中需要替换变量的位置。

str.format() 最初是在 Python 2.6 中引入的,可以在所有 Python 版本中使用,从 Python 2.6 到 Python 3.5。这个函数在编码人员中非常流行,程序员更喜欢这种方式来实现字符串格式化,因为它在处理复杂的字符串格式化方面非常有效。

以下代码使用字符串格式化和 str.format() 函数在 Python 中用空格填充字符串。

print("{:15}".format("I am legend"))

输出:

I am legend    

上面的代码向给定的字符串添加了正确的填充。要将左填充添加到给定的字符串,我们可以对上面的程序进行细微的调整并使用以下程序。

print("{:>15}".format("I am legend"))

输出:

    I am legend

str.format() 函数也可以同时填充两边的字符串。然后,你所要做的就是在冒号后的占位符中添加 ^ 符号。

以下代码使用 str.format() 函数在 Python 中用空格填充字符串的两端。

print("{:^15}".format("I am legend"))

输出:

  I am legend  

在 Python 中使用带有 f-strings 的字符串格式来填充带有空格的字符串

在 Python 3.6 中引入,它是 Python 中实现字符串格式化的最新方法。因此,此方法可用于更新和最新版本的 Python。

它比其他两个同行,% 符号和 str.format() 更有效,因为它更快更容易理解。它还有助于以比其他两种方法更快的速度在 Python 中实现字符串格式。

以下代码使用带有 f-strings 的字符串格式在 Python 中用空格填充字符串的右端。

width = 15
padding = " "
print(f'{"I am legend" :{padding}<{width}}')

输出:

I am legend    

要将左填充添加到给定的字符串,我们可以对上面的代码进行小的调整并使用以下程序。

width = 15
padding = " "
print(f'{"I am legend" :{padding}>{width}}')

输出:

    I am legend

str.format() 函数的情况类似,我们可以在占位符中指定的填充和宽度之间使用^符号,在 Python 中用空格填充字符串的两端。

width = 15
padding = " "
print(f'{"I am legend" :{padding}^{width}}')

输出:

  I am legend  

当谈到使用字符串格式来实现填充字符串的目的时,在我们提到的那些中,最推荐使用 f-strings,因为它更简洁、可读,因此更不容易出错。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相关文章 - Python String