1. 使用字符串方法
str.ljust(width[, fillchar]) - 左对齐填充
text = "Hello"
padded = text.ljust(10) # 默认用空格填充: 'Hello '
padded = text.ljust(10, '-') # 用指定字符填充: 'Hello-----'
str.rjust(width[, fillchar]) - 右对齐填充
text = "Hello"
padded = text.rjust(10) # 默认用空格填充: ' Hello'
padded = text.rjust(10, '*') # 用指定字符填充: '*****Hello'
str.center(width[, fillchar]) - 居中对齐填充
text = "Hello"
padded = text.center(10) # 默认用空格填充: ' Hello '
padded = text.center(10, '+') # 用指定字符填充: '++Hello+++'
str.zfill(width) - 用零填充(常用于数字)
num = "42"
padded = num.zfill(5) # '00042'
num = "-42"
padded = num.zfill(5) # '-0042' (符号保留在最前面)
2. 使用格式化方法
使用 format() 方法
# 左对齐
padded = "{:<10}".format("Hello") # 'Hello '
# 右对齐
padded = "{:>10}".format("Hello") # ' Hello'
# 居中对齐
padded = "{:^10}".format("Hello") # ' Hello '
# 使用指定字符填充
padded = "{:*>10}".format("Hello") # '*****Hello'
padded = "{:0>10}".format("42") # '0000000042'
# 数字填充
padded = "{:05d}".format(42) # '00042'
使用 f-strings (Python 3.6+)
text = "Hello"
width = 10
# 左对齐
padded = f"{text:<{width}}" # 'Hello '
# 右对齐
padded = f"{text:>{width}}" # ' Hello'
# 居中对齐
padded = f"{text:^{width}}" # ' Hello '
# 使用指定字符填充
padded = f"{text:*>{width}}" # '*****Hello'
padded = f"{42:0>5}" # '00042'
# 数字填充
number = 42
padded = f"{number:05d}" # '00042'