以下中文空格的情况是出现中文的时候,才需要处理。数字和英文不要使用中文空格。

文本对齐方法一

data=["登鹳雀楼",
      "王焕之",
      "白日依山尽",
      "黄河入海流",
      "欲穷千里目",
      "更上一层楼"]

"""
string.ljust(width) 返回一个原字符串左对齐,并使用(英文)空格填空至长度width的新字符串
string.rjust(width) 返回一个原字符串右对齐,并使用(英文)空格填空至长度width的新字符串
string.center(width) 返回一个原字符串居中,并使用(英文)空格填空至长度width的新字符串
"""
for str in data:
    print('|%s|'% str.center(10))

print('\r\r')

for str in data:
    print('|%s|'% str.center(10," "))

运行结果如下图。大家可以看到第二个center里面多个" ",第二个效果更好看。这是将center方法默认的英文空格填空换成全角的空格填空。
在这里插入图片描述
点下center,按下ctrl+q,就可以出来方法解释。可以看到标红的备注。
在这里插入图片描述
左对齐和右对齐也演示一下。

for str in data:
    print('|%s|'% str.rjust(10," "))

print('\r\r')

for str in data:
    print('|%s|'% str.ljust(10," "))

控制台输出结果:
在这里插入图片描述

文本对齐方法二

:^ 表示居中对齐
:< 表示居左对齐
:> 表示居右对齐

{0:^10} 0就表示str,加10表示一行一共10位长度。

data=["登鹳雀楼",
      "王焕之",
      "白日依山尽",
      "黄河入海流",
      "欲穷千里目",
      "更上一层楼"]


for str in data:
    print("|{0:^10}|".format(str))

print('\r\r')

for str in data:
    print("|{0:<10}|".format(str))
print('\r\r')

for str in data:
    print("|{0:>10}|".format(str))

控制台输出如下图
在这里插入图片描述

看着效果就差点意思,还是英文空格填空。然后百度了能不能替换format方法中的英文空格。还是有的。就是使用chr(12288) 中文空格。
0就是str,1就是chr(12288)

data=["登鹳雀楼",
      "王焕之",
      "白日依山尽",
      "黄河入海流",
      "欲穷千里目",
      "更上一层楼"]


for str in data:
    print("|{0:{1}^10}|".format(str,chr(12288)))

控制台输出如下:
在这里插入图片描述
左对齐和右对齐也展示下

for str in data:
    print("|{0:{1}<10}|".format(str,chr(12288)))
print('\r\r')

for str in data:
    print("|{0:{1}>10}|".format(str,chr(12288)))

控制台输出:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐