在 Python 中显示带前导零的数字

Vaibhhav Khetarpal 2023年1月30日 2021年10月2日
  1. 在 Python 中使用 rjust() 函数显示带前导零的数字
  2. 在 Python 中使用 str.zfill() 函数显示带前导零的数字
  3. 在 Python 中使用带有模数 (%) 运算符的字符串格式显示带前导零的数字
  4. 在 Python 中使用带有 str.format() 函数的字符串格式显示带前导零的数字
  5. 在 Python 中使用带有 f-strings 的字符串格式显示带前导零的数字
在 Python 中显示带前导零的数字

存储和显示带有前导零的数字是一个至关重要的方面,因为它非常有助于将数字从一种数字系统准确转换为另一种数字系统。

本教程讨论了在 Python 中可以执行以显示带前导零的数字的不同方法。

在 Python 中使用 rjust() 函数显示带前导零的数字

rjust() 函数在字符串的左侧添加填充。填充,简单来说,就是在给定字符串的左侧或右侧注入非信息性字符,它不会为初始字符串添加任何附加值。我们可以使用字符串填充在 Python 程序中显示前导零。

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

在这里,我们有一个示例程序,我们需要在其中显示数字 110,在本教程的每个解释方法中都带有前导零。可以使用 rjust() 函数手动指定所需的填充量。

以下代码使用 rjust() 函数在 Python 中显示带有前导零的数字。

a = [1, 10]
for num in a:
    print (str(num).rjust(2, '0'))

上面的代码提供了以下输出。

01
10

在 Python 中使用 str.zfill() 函数显示带前导零的数字

str.zfill(width) 函数用于返回数字字符串;它的零自动填充在给定 width 的左侧,这是该函数采用的唯一属性。如果此 width 参数指定的值小于字符串的长度,则不会进行填充过程。

以下代码使用 str.zfill() 函数在 Python 中显示带有前导零的数字。

print(str(1).zfill(2))
print(str(10).zfill(2))

上面的代码提供了以下输出。

01
10

str.zfill() 函数专门设计用于在字符串的左侧填充零。在这种情况下,这是一个很好的选择,也是一种强烈推荐的方法。

在 Python 中使用带有模数 (%) 运算符的字符串格式显示带前导零的数字

模数 % 符号,有时甚至被称为字符串格式化或插值运算符,是在 Python 中实现字符串格式化的少数几种方法之一。作为实现字符串格式化的最古老的方法,它在几乎所有当前可在 Internet 上使用的 Python 版本上都没有任何问题。

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

以下代码使用带有模数 (%) 运算符的字符串格式来显示 Python 中带有前导零的数字。

print ("%02d" % (1,))
print ("%02d" % (10,))

上面的代码提供了以下输出。

01
10

在上面的代码中,写在%符号后面的数字 02 设置了要显示和调整的前导零的文本宽度,d 变量表示转换类型。

这种方法可以很容易地进行显示带前导零的数字的操作。尽管如此,它还是会影响代码的可读性,有时会使其更难以理解。

在 Python 中使用带有 str.format() 函数的字符串格式显示带前导零的数字

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

str.format() 函数是在 Python 2.6 中引入的,可以在此后发布的所有 Python 版本中使用,直到 Python 3.5。这个函数在编码人员中非常流行,程序员推荐这种方式来实现字符串格式化,因为它在格式化复杂字符串时非常有效。

以下代码使用字符串格式化和 str.format() 函数在 Python 中显示带有前导零的数字。

print("{:02d}".format(1))
print("{:02d}".format(10))

上面的代码提供了以下输出。

01
10

上面的程序中,冒号后面的内容指定了宽度和数据类型的转换;大括号 {} 充当占位符。

在 Python 中使用带有 f-strings 的字符串格式显示带前导零的数字

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

与前面的其他两种方法 % 操作符和 str.format() 函数相比,它实现字符串格式的效率更高,因为这个方法更容易理解。它还有助于以比其他两个更快的速度在 Python 中实现字符串格式。

以下代码使用带有 f-strings 的字符串格式来显示 Python 中带前导零的数字。

print(f"{1:02d}")
print(f"{10:02d}")

上面的代码提供了以下输出:

01
10

在上面的程序中,字符串宽度和数据转换类型在占位符内的冒号后指定。

当谈到使用字符串格式用前导零填充字符串时,专业人士更推荐使用 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

相关文章 - Python Number