前言:当你在Python中使用print函数输出文本时,可能会想要以不同的颜色呈现文本。这可以通过使用ANSI转义码来实现。ANSI转义码是一种用于在终端上控制文本显示的特殊字符序列。下面是一个简单的例子,演示如何使用ANSI转义码在Python中以不同的颜色输出文本:
- # 输出红色文本
- print("\033[91mHello, world!\033[0m")
- # 输出绿色文本
- print("\033[92mHello, world!\033[0m")
- # 输出黄色文本
- print("\033[93mHello, world!\033[0m")
- # 输出蓝色文本
- print("\033[94mHello, world!\033[0m")
- # 输出紫色文本
- print("\033[95mHello, world!\033[0m")
- # 输出青色文本
- print("\033[96mHello, world!\033[0m")
在这个例子中,我们使用了ANSI转义码来设置文本的颜色。\033
是ANSI转义码的起始字符,后面跟着一个方括号和一个数字序列。这个数字序列表示颜色代码。在这个例子中,我们使用了数字序列91
到96
来设置文本的颜色,分别对应红色、绿色、黄色、蓝色、紫色和青色。在每个输出语句的结尾处,我们使用\033[0m
来恢复默认的文本颜色。
除了颜色之外,ANSI转义码还可以用于设置文本的背景色、加粗、下划线等等。以下是一些常见的ANSI转义码:
转义码 | 描述 |
---|---|
\033[0m | 关闭所有属性 |
\033[1m | 设置高亮度 |
\033[2m | 设置一半亮度 |
\033[3m | 斜体 |
\033[4m | 下划线 |
\033[5m | 闪烁 |
\033[7m | 反显 |
\033[8m | 消隐 |
\033[30m | 设置前景色为黑色 |
\033[31m | 设置前景色为红色 |
\033[32m | 设置前景色为绿色 |
\033[33m | 设置前景色为黄色 |
\033[34m | 设置前景色为蓝色 |
\033[35m | 设置前景色为紫色 |
\033[36m | 设置前景色为青色 |
\033[37m | 设置前景色为白色 |
\033[40m | 设置背景色为黑色 |
\033[41m | 设置背景色为红色 |
\033[42m | 设置背景色为绿色 |
\033[43m | 设置背景色为黄色 |
\033[44m | 设置背景色为蓝色 |
\033[45m | 设置背景色为紫色 |
\033[46m | 设置背景色为青色 |
\033[47m | 设置背景色为白色 |
下面是一个使用ANSI转义码的例子,演示如何以不同的颜色和样式输出文本:
- # 输出带有颜色和样式的文本
- print("\033[1m\033[31mHello, world!\033[0m")
- print("\033[1m\033[32mHello, world!\033[0m")
- print("\033[1m\033[33mHello, world!\033[0m")
- print("\033[1m\033[34mHello, world!\033[0m")
- print("\033[1m\033[35mHello, world!\033[0m")
- print("\033[1m\033[36mHello, world!\033[0m")
- print("\033[1m\033[37mHello, world!\033[0m")
- # 输出带有背景色的文本
- print("\033[1m\033[41mHello, world!\033[0m")
- print("\033[1m\033[42mHello, world!\033[0m")
- print("\033[1m\033[43mHello, world!\033[0m")
- print("\033[1m\033[44mHello, world!\033[0m")
- print("\033[1m\033[45mHello, world!\033[0m")
- print("\033[1m\033[46mHello, world!\033[0m")
- print("\033[1m\033[47mHello, world!\033[0m")
- # 输出带有下划线的文本
- print("\033[4mHello, world!\033[0m")
在这个例子中,我们使用了ANSI转义码来设置文本的样式和颜色。例如,\033[1m
表示设置高亮度,\033[31m
表示设置前景色为红色。我们还可以组合不同的ANSI转义码来实现更多的效果,例如\033[1m\033[31m
表示设置高亮度和前景色为红色。
需要注意的是,ANSI转义码只在支持ANSI的终端中有效。如果你的终端不支持ANSI转义码,那么输出的文本可能会出现乱码或者其他奇怪的效果。另外,ANSI转义码也可能会在不同的终端中产生不同的效果,因此在使用ANSI转义码时需要谨慎。
2.示例
代码如下(示例):
- print('\033[0;30m欢迎使用学生选课系统\033[0m')
- print('\033[1;31m欢迎使用学生选课系统\033[0m')
- print('\033[4;32m欢迎使用学生选课系统\033[0m')
- print('\033[5;33m欢迎使用学生选课系统\033[0m')
- print('\033[7;34m欢迎使用学生选课系统\033[0m')
- print('\033[8;35m欢迎使用学生选课系统\033[0m')
- print('\033[1;36m欢迎使用学生选课系统\033[0m')
- print('\033[1;37m欢迎使用学生选课系统\033[0m\n')
可以看到,只需要将需要改变颜色的字符串写在\033[1;37m 和 \033[0m\n 中间就可以了,\033[1;37m 主要是用来确定输出格式,\033[0m 主要是用来结束这个格式的输出,如果没有加后面这段,如果后面还有不需要改变颜色的字符串输出,也会因为没有加这个结束标志而变的和前面的特殊字符串一样了,就起不到区分效果了。
- print('\033[1;31;40m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;41m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;42m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;43m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;44m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;45m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;46m欢迎使用学生选课系统\033[0m')
- print('\033[1;31;47m欢迎使用学生选课系统\033[0m')
这个是加了高亮后的效果图,个人感觉还是不加高亮的看着舒服一点。