[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果

字体样式

回忆上次内容

  • \033 xm 可以改变字体样式
    • 0m - 10m 之间设置的 都是字体效果
      • 0m 复原
      • 1m 变亮
      • 2m 变暗

图片描述

  • 从3m到10m
    • 又是什么效果 呢??

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第1张图片

  • 真的可以
    • 让文字 blink闪烁吗?

3m

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第2张图片

  • 3m 实现斜体字的效果

4m

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第3张图片

  • 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")
  • 通过控制字符串的位置
    • 可以控制效果范围

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第4张图片

  • 标准输出流中的 所有文字
    • 都可以 控制样式
  • 属性可以叠加吗?

属性叠加

  • 可以 交换次序
    • 先变亮(\033[1m)、再加下划线(\033[4m)
    • 先加下划线(\033[4m)、再变亮(\033[1m)
    • 效果一样

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第5张图片

  • 变暗 也可以 与下划线叠加

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第6张图片

  • 可以 简化控制序列 吗?

简化写法

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第7张图片

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

VT100

  • 规则来自于 终端一代神机
    • DEC 的 VT100
    • 下图为 VT100 说明书
    • https://vt100.net/docs/vt100-ug/chapter3.html

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第8张图片

  • 很多东西 都可以 从VT100看出端倪
    • 八进制转义表示法
    • 控制序列前导符 ESC[
    • 分号分隔符
  • 4m是 下划线
  • 5m呢?

继续尝试

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第9张图片

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

快闪

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第10张图片

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

7m

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第11张图片

  • 黑变白
  • 白变黑

图片描述

  • 颠倒黑白

8m

  • 8m对应隐藏

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第12张图片

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

9m

  • 9m对应中划线

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第13张图片

  • 划掉

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第14张图片

  • 不喜欢的统统划掉

字体设置

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第15张图片

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第16张图片

20-29

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第17张图片

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

效果

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第18张图片

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第19张图片

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

专门清除

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第20张图片

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第21张图片

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

29m以后

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第22张图片

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

总结

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

[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果_第23张图片

  • 最后发现

    • 真的可以 设置颜色???
  • 我们下次再说!

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

你可能感兴趣的:(python,python)