Python字符串对齐神技!4种方法让你的输出瞬间专业10倍
告别杂乱文本!掌握center/ljust/rjust/zfill四大对齐技巧,代码输出整洁如印刷品
字符串对齐的核心价值
# 为什么需要对齐?
print("商品".ljust(10) + "价格".center(10) + "库存".rjust(10))
print("手机".ljust(10) + "¥5999".center(10) + "25".rjust(10))
print("耳机".ljust(10) + "¥899".center(10) + "120".rjust(10))
对齐让数据展示更专业:表格化输出、报表生成、日志格式化必备技能!
四大对齐方法详解
1. 居中对齐 - center()
s = "Python"
print(s.center(20, "*")) # 输出:*******Python*******
- 参数:宽度 + 填充符(默认空格)
- 规则:当宽度>字符串长度时,两侧等距填充
- 示例:"Python"居中对齐(宽度12,填充符"-") → ---Python---
2. 左对齐 - ljust()
s = "Python"
print(s.ljust(15, ">")) # 输出:Python>>>>>>>>>
- 参数:宽度 + 填充符(默认空格)
- 规则:当宽度>字符串长度时,右侧填充
- 应用场景:菜单项、目录列表
3. 右对齐 - rjust()
s = "Python"
print(s.rjust(15, "<")) # 输出:<<<<<<<<<Python
- 参数:宽度 + 填充符(默认空格)
- 规则:当宽度>字符串长度时,左侧填充
- 应用场景:价格标签、序号生成
4. 零填充右对齐 - zfill()
print("42".zfill(5)) # 输出:00042
print("-3.14".zfill(8)) # 输出:-0003.14
- 参数:宽度 (仅接受一个参数)
- 专用于数字:在符号后、数字前补零
- 应用场景:订单号生成、固定位数编号
关键注意事项
s = "Python"
print(s.center(4, "*")) # 宽度小于字符串长度 → 输出:Python
- 宽度不足:设置宽度小于字符串长度时,直接返回原字符串
- 填充符限制:只能使用单字符作为填充符
- zfill特殊行为:处理负数时,零填充在负号后、数字前
实际应用场景
# 生成整齐的报表
headers = ["产品", "价格", "销量"]
products = [("手机", "¥5999", 25), ("耳机", "¥899", 120)]
print(f"{headers[0].ljust(10)}{headers[1].center(10)}{headers[2].rjust(10)}")
print("-"*30)
for p in products:
print(f"{p[0].ljust(10)}{p[1].center(10)}{str(p[2]).rjust(10)}")
# 输出:
# 产品 价格 销量
# ------------------------------
# 手机 ¥5999 25
# 耳机 ¥899 120
四大方法对比总结
方法 | 对齐方式 | 填充位置 | 默认填充符 | 特殊用途 |
center() | 居中 | 两侧 | 空格 | 标题展示 |
ljust() | 左对齐 | 右侧 | 空格 | 目录列表 |
rjust() | 右对齐 | 左侧 | 空格 | 价格标签 |
zfill() | 右对齐 | 左侧 | 数字0 | 订单编号 |