如何使用Python对齐文本字符串?
在本文中,我们将学习如何使用Python对齐文本字符串。 我们将使用 f-strings 在python中对齐文本字符串。
Python的文本对齐功能有助于打印格式良好且干净的输出。 有时,要打印的数据长度不同,打印出来会显得不整洁。 通过指定对齐方式为左、右或中,并指定要为该字符串保留的空格(宽度),可以使用 字符串对齐 来对齐输出字符串。
文本将使用 f-strings 格式化。输出字符串的对齐方式由符号 ‘ <’,‘>’,‘^’ 定义,并跟随宽度数字。
字符串的 ljust(),rjust()和center()方法 也可用于对齐字符串。
所用方法
-
使用f-strings。
-
使用ljust(),rjust()和center()方法
方法1:使用f-strings左对齐
指定‘ < ‘后跟宽度数字,用于 左对齐 输出字符串语法。
示例
以下程序将在左侧使用30个预留空格对齐文本 –
# 在这种情况下,为具体的输出字符串保留了30个空间。
# 字符串在左侧打印。
print(f"{'左对齐字符串!!!' : <30}")
输出
在执行时,上述程序将生成以下输出 –
左对齐字符串!!!
方法2:使用f-strings右对齐
指定‘ > ‘后跟宽度数字,用于 右对齐 输出字符串语法。
示例
以下程序将在右侧使用30个预留空格对齐文本 –
# 在这种情况下,为具体的输出字符串保留了30个空间。
# 字符串在右侧打印。
print(f"{'右对齐字符串!!!' : >30}")
输出
在执行时,上述程序将生成以下输出 –
右对齐字符串!!!
方法3:使用f-strings居中对齐
指定 ‘^’ 后跟宽度数字,用于 居中对齐 输出字符串语法。
示例
以下程序将文本居中对齐 –
# 在这种情况下,为具体的输出字符串保留了30个空间。
# 字符串在中间打印。
print(f"{'居中对齐字符串!!!' : ^30}")
输出
在执行时,上述程序将生成以下输出 –
居中对齐字符串!!!
方法4:以对齐格式打印变量 示例
以下程序使用f-strings和<、^、>符号分别以3种不同的对齐格式对给定的3个字符串进行对齐 –
# 所有3种类型的对齐都使用的输入字符串
leftAlign = "Left Alignement"
centerAlign = "Center Alignement"
rightAlign = "Right Alignement"
# 使用<、^、>符号打印对齐文本的结果
print(f"{leftAlign : <25}{centerAlign : ^20}{rightAlign : >25}")
输出
在执行时,上述程序将生成以下输出 –
Left Alignement Center Alignement Right Alignement
方法5:以对齐的列格式打印多个列表值
示例
以下程序使用f-strings和<、^、>符号依次以4种不同的对齐列格式对给定的4个列表进行对齐 –
# 多列输入列表
cricketers = ['Dhoni', 'Virat Kohli', 'Hardik Pandya', 'KL Rahul', 'Rohit Sharma']
score = [55, 90, 60, 45, 70]
place = ['Ranchi', 'Mumbai', 'Mumbai', 'Mumbai', 'Kolkata']
strikerate = [90, 60, 30, 50, 70]
# 对齐表头并输出
print(f"{'Cricketers' : <20}{'Score' : ^20}{'Place' : ^20}{'Strikerate' : >10}")
# 对齐变量的值并输出
# 基于使用 for 循环的 4 个列,循环 4 次
for i in range(0, 4):
# 采用左对齐、居中对齐和右对齐等方式对变量值进行对齐,使用特定的宽度
print(f"{cricketers[i] : <20}{score[i] : ^20}{place[i] : ^20}{strikerate[i] : >10}")
输出
在执行上述程序后,将生成以下输出 −
Cricketers Score Place Strikerate
Dhoni 55 Ranchi 90
Virat Kohli 90 Mumbai 60
Hardik Pandya 60 Mumbai 30
KL Rahul 45 Mumbai 50
方法6:使用 ljust()、rjust() 和 centre() 方法对齐文本
字符串的 ljust()、rjust() 和 center() 方法也可用于对齐字符串。
ljust() 方法
使用指定的字符(默认为空格)作为填充字符左对齐字符串。
语法
string.ljust(length, character)
参数
-
length(必需) − 返回的字符串长度。
-
character(可选) − 用于填充字符串右侧缺失空间的字符。默认为空格(“ ”)。
rjust() 方法
使用指定的字符(默认为空格)作为填充字符右对齐字符串。
语法
string.rjust(length, character)
参数
-
length(必需) − 返回的字符串长度
-
character(可选) − 用于填充字符串左侧缺失空间的字符。默认为空格(“ ”)。
center() 方法
使用指定的字符(默认为空格)作为填充字符中心对齐字符串。
语法
string.center(length, character)
参数
-
length(必需) − 返回的字符串长度
-
character(可选) − 用于在两侧填充缺失空间的字符。默认为空格(“ ”)。
示例
以下程序分别使用 ljust()、rjust() 和 center() 方法展示了文本的左对齐、右对齐和居中对齐 −
# 输入文本
inputText = 'Tutorialspoint'
# 返回宽度为 30 的左对齐文本
print("左对齐:", inputText.ljust(30))
# 返回宽度为 30 的右对齐文本
print("右对齐:", inputText.rjust(30))
# 返回宽度为 30 的居中对齐文本
print("居中对齐:", inputText.center(30))
输出
在执行上述程序后,将生成以下输出 −
左对齐: Tutorialspoint
右对齐: Tutorialspoint
居中对齐: Tutorialspoint
方法7:使用指定字符对齐文本
示例
以下程序分别使用 ljust()、rjust() 和 center() 方法,并定义指定的字符以展示文本的左对齐、右对齐和居中对齐 −
# 输入文本
inputText = 'Tutorialspoint'
# 将文本左对齐并指定宽度为30,用字符 '@' 填充空白处
print("左对齐:", inputText.ljust(30, '@'))
# 将文本右对齐并指定宽度为30,用字符 '#' 填充空白处
print("右对齐:", inputText.rjust(30, '#'))
# 将文本居中对齐并指定宽度为30,用字符 '%' 填充空白处
print("居中对齐:", inputText.center(30, '%'))
输出结果
运行程序后将生成以下输出结果-
左对齐: Tutorialspoint@@@@@@@@@@@@@@@@
右对齐: ################Tutorialspoint
居中对齐: %%%%%%%%Tutorialspoint%%%%%%%%
结论
本文演示了如何使用ljust(), rjust(), 和center() 方法在Python中对齐文本字符串。此外,我们还学习了如何使用f字符串在不同位置对齐文本字符串。