介绍
前置和/或附加文本以填充空间
示例一:将文本左对齐并在之后填充
示例二:将文本右对齐并在前面填充
示例三:居中对齐文本,前后填充
示例四:创建终端欢迎屏幕
示例五:使用文档字符串创建终端欢迎屏幕
结论
介绍
在开发应用程序时,有时可能需要在终端的文本输出前添加或附加一些文本。例如,在框内输出一些文本以使其脱颖而出。
在 Python 中,有许多方法可以执行此操作,但在本文中,我将介绍如何使用ljust,rjust和center方法来执行文本对齐以及前置和/或附加其他字符。
话虽如此,让我们开始吧。
前置和/或附加文本以填充空间
首先,让我们设置一些将在前三个示例中使用的变量:
output_length = 35
text = "Hello World"
fill_char = "*"
output_length:定义文本输出的长度。在这种情况下,最多 35 个字符。
文本:要显示的文本。这将针对每个示例进行轻微修改,以在需要时添加间距。
fill_char:对于输出中的任何空字符(35 - 文本),放置一个*.
现在,让我们看一些例子。
示例一:将文本左对齐并在之后填充
对于第一个示例,文本将左对齐,并在其后留一个空格。
text_left = f"{text} "
print(f"{text_left.ljust(output_length, fill_char)}")
输出:
好的,让我们回顾一下代码以了解其工作原理:
text_left = f"{text} “:这是一个新变量,采用先前定义的text变量并在末尾添加一个空格。
print(f”{text_left.ljust(output_length, fill_char)}"):print使用text_left变量作为文本的标准 f 字符串。文本然后使用该ljust方法指示文本应向左对齐。然后它有output_length和fill_char变量来指定输出的总长度以及使用哪个字符 ( *) 来填充文本后的任何空白。
示例二:将文本右对齐并在前面填充
在此示例中,文本将右对齐,并在其前面留一个空格。
text_right = f" {text}"
print(f"{text_right.rjust(output_length, fill_char)}")
rjust工作方式相同,ljust但文本位于右侧。
输出:
示例三:居中对齐文本,前后填充
在此示例中,文本将居中对齐,前后各留一个空格。
text_centre = f" {text} "
print(f"{text_centre.center(output_length, fill_char)}")
输出:
同样,这与前两个示例类似,文本位于output_length. 文本两侧的任何空白区域都将(尽可能)均匀填充。
示例四:创建终端欢迎屏幕
这个例子会有点复杂,但总的来说,它是一个简单的例子,说明如何一起使用ljust,rjust和center方法。
output_length = 35
fill_char = " "
border_char = "*"
header_footer_row = f"{border_char * output_length}"
empty_row = f"{border_char.ljust(output_length - 1, fill_char)}{border_char}"
text_row_one = "Welcome to my program"
text_row_two = "=" * len(text_row_one)
print(f"\033[1;32;40m{header_footer_row}")
print(empty_row)
print(empty_row)
print(f"\033[1;32;40m{border_char}\033[1;35;40m\
{text_row_one.center(output_length - 2, fill_char)}\033[1;32;40m\
{border_char}")
print(f"\033[1;32;40m{border_char}\033[1;36;40m\
{text_row_two.center(output_length - 2, fill_char)}\033[1;32;40m\
{border_char}")
print(empty_row)
print(empty_row)
print(header_footer_row)
输出:
为了进一步解释代码,大部分代码与前面的示例类似,但添加了一些额外的变量:
header_footer_row:这是框的页眉和页脚。它是 border_char ( ) 乘以 output_length (35) 得到一行 35 的。
empty_row:用于间距的行。它以 a 开头*,然后是空格 ( fill_char),最后是一个 final *。
text_row_one:要在框中显示的主要文本。
text_row_two:与text_row_one中的文本长度匹配的一行等号。
text_rows一旦定义了变量,剩下的代码就是打印语句的集合,显示中间有两个的框。
该框为绿色 ( \033[1;32;40m),文本为洋红色 ( \033[1;35;40m),等号为青色 ( \033[1;36;40m)。
示例五:使用文档字符串创建终端欢迎屏幕
最后一个示例是示例 4 的重复,但它没有使用多个打印函数,而是在单个打印函数内使用了文档字符串。一个区别是text_rows有不同的文本。
output_length = 35
fill_char = " "
border_char = "*"
header_footer_row = f"{border_char * output_length}"
empty_row = f"{border_char.ljust(output_length - 1, ' ')}{border_char}"
text_row_one = "Welcome to my other program"
text_row_two = "=" * len(text_row_one)
print(f"""\033[1;32;40m{header_footer_row}
{empty_row}
{empty_row}
\033[1;32;40m{border_char}\033[1;35;40m\
{text_row_one.center(output_length - 2, fill_char)}\033[1;32;40m\
{border_char}
\033[1;32;40m{border_char}\033[1;36;40m\
{text_row_two.center(output_length - 2, fill_char)}\033[1;32;40m\
{border_char}
{empty_row}
{empty_row}
\033[1;32;40m{header_footer_row}""")
输出:
结论
我希望这篇文章有用。介绍中提到,还有其他的方法,比如format可以使用的方法。请随意探索该方法以及任何其他可用的方法。
如果你喜欢我的文章,记得关注获取更多的信息。感谢您的阅读,祝您有美好的一天!