上QQ阅读APP看书,第一时间看更新
2.2.4 字符串对齐
Word文档提供了类似左对齐、右对齐、居中等便捷操作功能,可以将文本快速以指定格式对齐。Python也提供了字符串对齐的便捷方法。
对于基本的字符串对齐操作,我们可以使用字符串的ljust()、rjust()和center()方法,相关代码(str_alignment.py)示例如下:
text_str = 'Hello World' print(text_str.ljust(20)) print(text_str.rjust(20)) print(text_str.center(20))
执行py文件,输出结果如下:
Hello World Hello World Hello World
这些方法也能接收一个可选的填充字符,相关代码(str_alignment.py)示例如下:
print(text_str.rjust(20,'=')) print(text_str.center(20, '*'))
执行py文件,输出结果如下:
=========Hello World ****Hello World*****
对于Python3.8之后的版本,我们可以使用f前缀方便地格式化字符串。对于对齐操作,可以用“<”“>”或者“^”字符后面紧跟一个指定的宽度实现,代码示例如下:
print(f'{text_str:>20}') print(f'{text_str:<20}') print(f'{text_str:^20}')
如果要指定一个非空格的填充字符,将它写到对齐字符的前面即可,代码示例如下:
print(f'{text_str:=>20}') print(f'{text_str:*^20}')
针对格式化多个值,代码示例如下:
print(f'{"hello":>10s} {"world":>10s}')
针对格式化数字,代码示例如下:
num = 1.2345 print(f'{num:>10}') print(f'{num:^5.2f}')
在Python3.8之前版本的代码中,我们经常会看到被用来格式化文本的%操作符及format()函数。
在新版本代码中,我们应该优先选择f前缀或format()函数。format()函数要比%操作符的功能更为强大。f前缀和format()函数比ljust()、rjust()或center()方法更通用,f前缀和format()函数可以用来格式化任意对象,而不仅仅是字符串。