当前位置:首页 > Python > 正文

Python zfill方法教程 - 字符串填充零的完整指南 | Python字符串处理

Python str.zfill()方法完整教程

什么是zfill()方法?

str.zfill(width)是Python字符串的内置方法,用于在字符串左侧填充0使其达到指定长度。主要用途:

  • 数字字符串格式化(如生成0012)
  • 创建固定位数的编号系统
  • 对齐数值显示

方法语法

str.zfill(width)

参数说明:

  • width:必需参数,指定填充后的字符串总长度

返回值:返回填充后的新字符串

核心特性

  1. 仅在原字符串左侧填充0
  2. 当原字符串长度 ≥ width时,返回原字符串
  3. 处理符号字符(+/-)时,0会填充在符号后

代码示例

基础用法

# 数字填充
print("42".zfill(5))    # 输出: 00042

# 文本填充
print("abc".zfill(6))   # 输出: 000abc

# 长度足够时
print("python".zfill(4)) # 输出: python

处理符号字符

print("-3.14".zfill(7))  # 输出: -003.14
print("+256".zfill(6))    # 输出: +00256

实际应用场景

# 生成订单编号
for i in range(1, 6):
    print(f"ORD-{str(i).zfill(3)}")

# 输出:
# ORD-001
# ORD-002
# ORD-003
# ORD-004
# ORD-005

与rjust()的区别

方法 填充字符 符号处理
zfill(width) 固定使用0 智能处理+-符号
rjust(width, '0') 可自定义字符 不处理符号位置

常见问题解答

Q: 可以填充其他字符吗?
A: 不可以,zfill()只能填充0。需要其他字符请使用rjust()或format()

Q: 能处理浮点数吗?
A: 可以,但需先转为字符串:str(3.14).zfill(6) → '003.14'

Q: 为什么我的负号位置不对?
A: zfill()会保留符号位置,这是预期行为:
print(str(-42).zfill(5)) → '-0042'

发表评论