在 Python 中用零填充字符串

使用 str.zfill() 方法用零填充字符串,例如 result = my_str.zfill(8)。 zfill() 方法用 0 位向左填充字符串以使其具有指定的宽度。

# ✅ 在不同的行上打印多个变量(sep)

my_str = 'jiyik'

# ✅ 用前导零将字符串填充到固定长度
result = my_str.zfill(8)
print(result)  # ?️ 000jiyik

# -------------------------------------------------

# ✅ 用零将字符串填充到固定长度(左对齐)
result = f'{my_str:0>8}'
print(result)  # ?️ 000jiyik

# -------------------------------------------------
# ✅ 用零将字符串填充到固定长度(右对齐)
result = f'{my_str:0<8}'
print(result)  # ?️ jiyik000

上述代码运行结果如下

在 Python 中用零填充字符串

第一个示例使用 str.zfill() 方法用前导零填充字符串。

jmy_str = 'jiyik'

result = my_str.zfill(8)
print(result)  # ?️ 000jiyik

str.zfill 方法获取字符串的宽度并用 0 位向左填充字符串以使其具有指定的宽度。

num = 13

result = str(num).zfill(3)
print(result)  # ?️ '013'

result = str(num).zfill(4)
print(result)  # ?️ '0013'

将数字 13 转换为字符串会给我们一个长度为 2 的字符串。

将 3 作为宽度传递给 zfill() 方法意味着字符串将左填充单个 0 数字。

如果指定的宽度小于或等于原始字符串的长度,则返回原始字符串。

或者,可以使用格式化的字符串文字。


使用格式化的字符串文字用零填充字符串

使用格式化的字符串文字用零填充字符串,例如 result = f'{my_str:0>8}'。 我们可以在格式化的字符串文字中使用表达式,我们可以在其中指定填充字符、字符串的长度和对齐方式。

my_str = 'jiyik'

# ✅ 用前导零填充字符串
result = f'{my_str:0>8}'
print(result)  # ?️ 000jiyik

# -------------------------------------------------
# ✅ 用尾随零填充字符串
result = f'{my_str:0<8}'
print(result)  # ?️ jiyik000

上述代码运行结果如下

在 Python 中用零填充字符串

格式化字符串文字(f-strings)让我们通过在字符串前面加上 f 来在字符串中包含表达式。

name = 'jiyik'
extension = '.com'

result = f'{name}{extension}'
print(result)  # ?️ jiyik.com

确保将表达式包裹在花括号 – {expression} 中。

格式化的字符串文字还使我们能够在表达式块中使用特定于格式的迷你语言。

my_str = 'jiyik'

result = f'{my_str:0>8}'
print(result)  # ?️ 000jiyik

冒号和大于号之间的 0 位是填充字符。

my_str = 'jiyik'

result = f'{my_str:.>8}'
print(result)  # ?️ ...jiyik

上面的示例使用句点作为填充字符而不是 0。

小于或大于号是对齐方式。

小于号使字符串向左对齐,大于号使字符串向右对齐。

符号后面的数字是字符串的宽度。

如果我们需要将带有尾随零的字符串填充到固定长度,请使用小于号。

my_str = 'jiyik'

result = f'{my_str:0<8}'
print(result)  # ?️ jiyik000

如果需要使字符串居中,请使用插入符号 ^ 符号。

my_str = 'jiyik'

result = f'{my_str:0^8}'
print(result)  # ?️ 0jiyik00

或者,我们可以使用 str.rjust() 方法。


使用 str.rjust() 用零填充字符串

使用 str.rjust() 方法用零填充字符串,例如 result = my_str.rjust(8, '0')。 str.rjust() 方法将用零填充字符串的开头到指定的宽度。

my_str = 'jiyik'

# ✅ 用前导零填充字符串
result = my_str.rjust(8, '0')
print(result)  # ?️ 000jiyik

# ✅ 用尾随零填充字符串
result = my_str.ljust(8, '0')
print(result)  # ?️ jiyik000

str.rjust 方法使用提供的填充字符将字符串的开头填充到指定的宽度。

str.rjust 方法采用以下 2 个参数:

  • width 填充字符串的总长度
  • fillchar 填充字符串的填充字符

如果我们需要用尾随零填充字符串,请改用 str.ljust() 方法。

my_str = 'jiyik'

result = my_str.ljust(8, '0')
print(result)  # ?️ jiyik000

str.ljust 方法使用提供的填充字符将字符串的末尾填充到指定的宽度。

str.ljust 方法采用相同的参数 – 宽度和填充字符。