优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python字符串对齐神技!4种方法让你的输出瞬间专业10倍

nanyue 2025-07-27 22:39:46 技术文章 1 ℃

告别杂乱文本!掌握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
  1. 宽度不足:设置宽度小于字符串长度时,直接返回原字符串
  2. 填充符限制:只能使用单字符作为填充符
  3. 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

订单编号



Tags:

最近发表
标签列表