字符串对齐方法(`ljust()`、`rjust()`、`center()`、`zfill()`)
这些字符串对齐方法(ljust()
、rjust()
、center()
、zfill()
)对非英文字符串同样适用,因为它们本质上是基于字符串的长度(字符数量)进行操作的,与字符的具体类型无关。
无论是中文、日文、韩文等东亚文字,还是其他语言的字符,这些方法都会按照指定的总长度进行对齐,不足部分用空格(zfill()
用0)填充。
例如,对中文字符串进行操作:
s = '中文测试字符串'
print(f"原字符串: {s} (长度: {len(s)})")
print(f"左对齐: {s.ljust(15)}|") # 总长度15,左对齐
print(f"右对齐: {s.rjust(15)}|") # 总长度15,右对齐
print(f"居中对齐: {s.center(15)}|") # 总长度15,居中对齐
运行结果:
原字符串: 中文测试字符串 (长度: 6)
左对齐: 中文测试字符串 |
右对齐: 中文测试字符串|
居中对齐: 中文测试字符串 |
可以看到,中文字符串同样能被正确对齐。需要注意的是:
- 每个中文字符在
len()
计算时会被视为1个字符(与英文字母相同) - 在某些终端或编辑器中,中文字符可能会占据2个英文字符的宽度,导致视觉上的对齐效果与预期有差异,但这是显示问题,不是字符串方法的问题
zfill()
对于非数字字符串也能工作,但通常更适合数字字符串使用
因此,这些对齐方法是通用的,适用于任何Unicode字符组成的字符串。