[oeasy]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果

简介: [oeasy]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果

字体样式

回忆上次内容

  • m 可以改变字体样式
  • 0-10 之间设置的都是字体效果

  • 0 复原
  • 1 变亮
  • 2 变暗

  • 从3到10 又是什么效果 呢??
  • 真的可以blink闪烁吗?👁

3m

  • 3m 实现斜体字的效果

4m

  • 4m 对应着下划线

控制范围

  • 通过控制字符串的位置
  • 可以控制效果范围
print("\033[0mthis is an \033[4manchor\033[0m")
print("\033[0mthis is \033[4man anchor\033[0m")
print("\033[0mthis is\033[4m an anchor\033[0m")
  • 标准输出流中的 所有文字
  • 都可以 控制样式
  • 属性可以叠加吗?

属性叠加

  • 先变亮(\033[1m)、再加下划线(\033[4m)
  • 先加下划线(\033[4m)、再变亮(\033[1m)
  • 效果一样

  • 可以 交换次序

  • 变暗 也可以 与下划线叠加
  • 可以 简化控制序列 吗?

简化写法

  • 合并同类项
  • 把需要加的标记 进行汇总
  • 用;做为分割符

  • 这套规则 来自于什么 呢?

VT100

  • 规则来自于 终端一代神机
  • DEC 的 VT100
  • 下图为 VT100 说明书

  • 很多东西 都可以 从VT100看出端倪
  • 八进制转义
  • ESC
  • 分号分隔符
  • 4m是 下划线
  • 5m呢?

继续尝试

  • 5m、6m 本应是
  • 快闪、慢闪

  • 但是 现在看起来 效果是一样的
  • 可以 编程实现 快闪效果吗?
  • 动手试试

快闪

  • 编码
import time
for i in range(1000):
    if i % 2 == 0:
        print("\roeasy",end="")
    else:
        print("\r     ",end="")
    time.sleep(0.2)
  • 再往后看看

7m

  • 7m 是反相
  • 把前景和背景色交换

  • 黑变白
  • 白变黑

  • 颠倒黑白

8m

  • 8m对应隐藏

  • 隐藏比较复杂
  • 因为完全看不见了😄

9m

  • 9m对应中划线

  • 划掉

  • 不喜欢的统统划掉

字体设置

  • 10-19 定义为字体设置
  • 但是 实际上 没有效果

20-29

  • 20-29
  • 20 设置字体
  • 21-29部分和1-9一一对应
  • 是取消相应的效果

  • 1是变亮
  • 21 是取消变亮
  • 2是变暗
  • 22 是取消变暗
  • 23-29
  • 取消 3-9 的字体效果
  • 0 是全部取消

效果

  • 0m 确实可以清除此后所有的样式

  • 29m 可以专门地清除
  • 此后的 中划线样式
  • 但如果一开始的时候
  • 既有中划线样式
  • 又高亮
  • 会如何呢?

专门清除

  • 注意后面hate you 部分
  • 取消了下划线样式
  • 但没有取消高亮样式

  • 除非 控制序列的 新要求
  • 否则 标准输出流
  • 会一直保持 各种字体样式
  • 那么29m以后
  • 控制的又是什么呢?

29m以后

  • 居然好像真的是颜色设置了 🥰
  • 前景色
  • 背景色

  • 可以搞点 好玩的 东西啦!!!

总结

  • m 可以改变字体样式
  • 0-9 之间设置的都是字体效果
  • 0 重置为默认
  • 1 变亮
  • 2 变暗
  • 3 斜体
  • 4 下划线
  • 5 慢闪
  • 6 快闪
  • 7 前景背景互换
  • 8 隐藏
  • 9 中划线
  • 叠加效果
  • \33[1;3moeasy
  • ;分割
  • 取消效果
  • 21 取消 1
  • 22 取消 2
  • 23 取消 3
  • 一直到 29
  • 0 是全部取消,回到默认

  • 最后发现
  • 真的可以 设置颜色???👁
  • 我们下次再说!👋
  • 蓝桥->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
目录
相关文章
|
7天前
|
存储 索引 Python
Python小技巧:单下划线 '_' 原创
Python小技巧:单下划线 '_' 原创
20 3
|
27天前
|
Unix 编译器 Shell
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
本文回顾了计算机语言与操作系统的起源,探讨了早期 Unix 操作系统及其与 C 语言的相互促进发展。Unix 最初用汇编语言编写,运行在 PDP-7 上,后来 Thompson 和 Ritchie 开发了 C 语言及编译器,使 Unix 重写并成功编译。1974 年 Ritchie 发表论文,Unix 开始被学术界关注,并逐渐普及。伯克利分校也在此过程中发挥了重要作用,推动了 Unix 和 C 语言的广泛传播。
40 9
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
|
13天前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
17 4
|
7天前
|
Python
Python变量用法——单下划线变量名_ 原创
Python变量用法——单下划线变量名_ 原创
23 0
|
2月前
|
算法 Unix 程序员
[oeasy]python031_[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics
回顾了上次内容关于调试的基本概念后,本文介绍了Unix操作系统的起源。从早期计算机任务的独占执行方式讲起,到1960年代 Dartmouth 开发出分时算法,使得一台主机能够面对多个终端,轮流使用CPU时间片。随后,贝尔实验室、通用电气和MIT合作开展Multics项目,项目成员Kenneth Thompson与Dennis Ritchie在此期间开发了一款名为《Space Travel》的游戏。然而,因金融动荡等原因,Multics项目最终被裁撤。Thompson和Ritchie后来利用实验室闲置的一台PDP-7计算机仅用三周时间就开发出了Unix操作系统的第一版,初衷是为了能够继续玩游戏。
37 3
|
18天前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
14 0
|
2月前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
24 2
|
2月前
|
程序员 Python
[oeasy]python0028_女性程序员_Eniac_girls_bug_Grace
回顾上次内容,我们了解到 `.py` 文件中的代码是按顺序一行行被解释执行的,可以使用 `pdb3 hello.py` 来调试程序。此外,我们探讨了“bug”这一术语的由来,它最早是在 1947 年由 Grace Murray Hopper 发现的一只真正的飞蛾所引起的计算机故障,从此“debugging”成了查找并修复程序错误的过程。早期的程序员大多为女性,因为她们通常更加细心且有耐心,这些特质对于检查错综复杂的线路和编程工作至关重要。编程与编织有着相似之处,都需要细致和有条理的操作。最后,我们认识到 bug 的存在是程序员工作的基础,没有 bug 就不需要程序员去修正它们。
37 3
|
2月前
|
程序员 Shell 开发工具
[oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数
回顾早期计算机操作员多为女性,她们甚至发明了“bug”这个词。为了体验调试过程,我们故意在Python脚本中引入了一个拼写错误,并通过直接运行程序遇到了`NameError`。 通过`until`命令,我们可以快速跳转到指定行执行,这对于大型项目非常有用。此外,`continue`(或简写`c`)命令则会一直执行到下一个断点或程序结束。我们还可以在代码中使用`breakpoint()`设置断点,配合`continue`命令使用,实现快速跳转至特定位置进行调试。 这些技巧使调试过程变得高效且有趣,如同解开谜题一般。下次我们将探讨如何在调试过程中动态设置与取消断点。
28 0
|
1天前
|
机器学习/深度学习 Linux Python
Python编程教学
Python教学
24 13
下一篇
无影云桌面