Python带颜色打印
引言
在编程过程中,打印信息是调试代码和输出结果的重要方式之一。然而,当输出大量信息时,很难对不同的信息进行区分。幸运的是,Python提供了一种简单的方法来为打印的信息添加颜色,以便更好地区分和理解输出结果。本文将介绍如何在Python中使用不同的颜色打印文本,并提供一些示例代码帮助您加深理解。
使用ANSI转义序列
在Python中,可以使用ANSI转义序列为输出文本添加颜色。这些序列是特殊的字符组合,可以修改终端的显示属性,包括文本颜色、背景颜色和样式。下面是一些常用的ANSI转义序列:
\033[0m
:重置所有属性\033[1m
:设置粗体\033[3m
:设置斜体\033[4m
:设置下划线\033[30m
到\033[37m
:设置文本颜色,从黑色到白色\033[40m
到\033[47m
:设置背景颜色,从黑色到白色
示例代码
下面是一些示例代码,展示了如何在Python中使用ANSI转义序列来打印带有颜色的文本:
# 打印红色文本
print("\033[31mThis is red text\033[0m")
# 打印绿色背景的文本
print("\033[42mThis text has a green background\033[0m")
# 打印粗体和下划线的蓝色文本
print("\033[1;4;34mThis is bold and underlined blue text\033[0m")
执行以上代码,您将看到不同颜色的文本输出。请注意,每个打印语句后面都有一个重置序列\033[0m
,以确保后续文本不会受到影响。
封装为函数
为了更方便地使用带有颜色的打印功能,我们可以将其封装为一个函数。下面是一个示例函数,接受文本和颜色作为参数,并将文本以指定的颜色打印出来:
def colored_print(text, color):
color_code = {
'black': '\033[30m',
'red': '\033[31m',
'green': '\033[32m',
'yellow': '\033[33m',
'blue': '\033[34m',
'magenta': '\033[35m',
'cyan': '\033[36m',
'white': '\033[37m',
}
if color in color_code:
print(f"{color_code[color]}{text}\033[0m")
else:
print(f"Invalid color: {color}")
使用上述函数,我们可以更灵活地打印各种颜色的文本:
colored_print("This is red text", "red")
colored_print("This text has a green background", "green")
colored_print("This is bold and underlined blue text", "blue")
colored_print("Invalid color text", "invalid_color")
状态图示例
下面是一个使用mermaid语法中的stateDiagram标识的状态图示例,展示了一个简单的订单处理流程:
stateDiagram
[*] --> Pending
Pending --> Processing: Process order
Processing --> Shipped: Ship order
Shipped --> Delivered: Deliver order
Delivered --> [*]
在上述状态图中,订单从“待处理”状态开始,然后依次经过“处理中”、“已发货”和“已交付”状态。最后,订单回到初始状态,形成一个闭环。
旅行图示例
下面是一个使用mermaid语法中的journey标识的旅行图示例,展示了一段旅程中的不同地点和行程:
journey
title My Journey
section Start
Home --> Hotel: Check-in
section Day 1
Hotel --> Sightseeing: Visit Museum
Sightseeing --> Hotel: Return to