[oeasy]python0074_设置高亮色_color_highlight_ansi_控制终端颜色

简介: [oeasy]python0074_设置高亮色_color_highlight_ansi_控制终端颜色

更多颜色

回忆上次内容

  • 上次我们搞的还是颜色
  • FG foreground 前景色 30-37
  • BG background 背景色 40-47

  • 这些 都可以和字体样式 结合起来

  • 难道 就这几种颜色 吗??🤔
  • 有点啊!
  • 有些颜色 也和想象不一致
  • 金黄色 也不够啊?!

明确概念

  • \
  • 转义字符
  • escape character
  • \和其他字符
  • 可以构成转义序列
  • \t
  • \n
  • \r
  • \e 也是转义序列
  • \e 这个转义序列转义到 escape 这样的状态
  • 从正常的输出退出
  • 进入 control sequences 控制序列
  • 控制序列
  • 不直接输出到屏幕
  • 而是设置一些位置、样式、颜色之类的
  • 他开始于 CSI(Control Sequence Introduce)
  • CSI
  • \e 对应 ascii 的值是(033)<sub>8</sub>
  • \033[ 就是 控制序列初始化符号(Control Sequence Introduce)
  • 所以一般写作\033[控制信息
  • 如果我就想输出这个csi应该如何呢?

输出csi

  • 直接对\转义就可以

  • 各厂商终端都开始学习VT100的控制序列
  • 关于控制信息的实现细节
  • 基本一致
  • 最终统一到了 ansi 标准下

  • 于是终端有了色彩

亮色设置

  • 31-37 对应八种常见的前景色
  • 41-47 对应八种常见的背景色

  • 91-97 对应八种高亮的常见前景色
  • 100-107对应 八种高亮的常见背景色

尝试

  • Bright Red和Red确实不一样

  • Green也有区别
  • 高亮绿真的比原来更高亮啊!!😳

  • 高亮蓝色确实让蓝色高亮了起来
  • 但是这个和字体样式中的加粗加亮比较呢?

具体实验

  • 各种控制符
  • 31是普通红色
  • 91的高亮红色
  • 1是加粗字体
  • 31;1是普通红色加粗字体
  • 亮度排序
  • 最亮
  • 31;1
  • 91;1
  • 中亮
  • 91
  • 低亮
  • 31
  • 颜色 有点
  • 还不是 纯红色
  • 这个 颜色
  • 可以 更明确地量化 吗?

具体颜色

  • 高亮 只是 一个名称
  • 名称 可以 定义颜色
  • 也可以 定义高亮颜色
  • 但是
  • 究竟什么是 红?
  • 什么是 高亮红?
  • 这是一个 抽象的 颜色名
  • 具体的颜色 还是 由终端控制的
  • 这些终端 必须得落实到 颜色值
  • 每个终端 实现的红色
  • 都是 红的
  • 但 具体会有 一些差异

  • 在这个 xfce的终端上
  • 就是想要 一个大红🟥啊!😫

目前颜色

  • 高亮红、红+亮
  • 都不够😫

  • 可以 再😫些 么?

总结

  • 这次 了解了 高亮颜色
  • 91-97 是 高亮 前景色
  • 101-107是 高亮 背景色

  • 颜色 种类
  • 在原来基础上 增加了一些
  • 但也非常有限
  • 还想要 更精细的颜色
  • 有可能吗??🤔
  • 我们下次再说!👋
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy
目录
相关文章
|
10天前
|
Rust JavaScript 前端开发
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
49 21
|
8天前
|
Python Windows
[oeasy]python076_int这个词怎么来的_[词根溯源]整数类型_int_integer_touch
本文探讨了“int”一词的起源及其与整数类型的关联。通过词根溯源,揭示“int”来源于“integer”,意为“完整的数”,与零碎的分数相对。同时分析了相关词汇如“tact”(接触)、“touch”(触摸)及衍生词,如“tangential”(切线的)、“intagible”(无形的)和“integral”(完整的、不可或缺的)。文章还结合编程语言特性,解释了Python作为动态类型、强类型语言的特点,并总结了整型变量的概念与意义。最后预告了后续内容,提供了学习资源链接。
38 11
|
5天前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
23 1
|
11天前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
24 4
|
18天前
|
Shell Python
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
本文介绍了Python中名字空间和模块导入的使用方法。主要内容包括: 1. **回忆上次内容**:回顾了之前导入系统模块(如`__hello__`、`time`)和自定义模块(如`my_file`),并介绍了如何导入和使用模块中的变量。 2. **从shell开始**:展示了如何在命令行中编辑和切换文件,以及如何通过`import`语句引入模块。 3. **修改oeasy.py**:演示了如何通过`import my_file`导入模块,并将模块中的`pi`赋值给本地变量`pi`。 4. **locals()函数**:解释了如何使用`locals()`查看当前作用域内的本地变量及其值。
29 8
|
16天前
|
Python
[oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
本文回顾了Python中从模块导入变量和函数的方式,重点讨论了避免本地变量名冲突(local name clashes)的方法。通过`from module import variable as alias`可以为导入的变量重命名,防止冲突。根据PEP8规范,建议避免使用`from module import *`,因为它会导入模块中所有非下划线开头的变量,容易引发冲突。下划线在变量命名中有特殊含义:单个前导下划线表示内部变量,后置下划线用于避免与关键字冲突,双下划线前后包围表示系统变量。总结了下划线的不同用法及其作用。下次将继续探讨更实用的编程技巧。
30 3
|
27天前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
38 8
|
25天前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 &quot;hello world!&quot; 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
24 4
|
1月前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
27 1
|
1月前
|
人工智能 数据库连接 开发工具
[oeasy]python069_当前作用域都有些什么_列表dir_函数_builtins
本文介绍了Python中`dir()`函数的使用方法及其作用。`dir()`可以列出当前作用域内的所有变量和成员,类似于`locals()`,但`dir()`不仅限于本地变量,还能显示模块中的所有成员。通过`dir(__builtins__)`可以查看内建模块中的所有内建函数,如`print`、`ord`、`chr`等。此外,还回顾了`try-except-finally`结构在数据库连接中的应用,并解释了为何`print`函数可以直接使用而无需导入,因为它位于`__builtins__`模块中。最后,简要提及了删除`__builtins__.print`的方法及其影响。
35 0