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

字体样式

回忆上次内容

  • m 可以改变字体样式

    • 0-10 之间设置的都是字体效果

图片描述

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

图片描述

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

3m

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

  • 3m 实现斜体字的效果

4m

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

  • 4m 对应着下划线

图片描述

控制范围

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

  • 通过控制字符串的位置

    • 可以控制效果范围
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)
  • 效果一样

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

  • 可以 交换次序

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

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

简化写法

  • 合并同类项

    • 把需要加的标记 进行汇总
    • 用;做为分割符

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

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

VT100

  • 规则来自于 终端一代神机

    • DEC 的 VT100
    • 下图为 VT100 说明书

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

  • 很多东西 都可以 从VT100看出端倪

    • 八进制转义
    • ESC
    • 分号分隔符
  • 4m是 下划线
  • 5m呢?

继续尝试

  • 5m、6m 本应是

    • 快闪、慢闪

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

  • 但是 现在看起来 效果是一样的

    • 可以 编程实现 快闪效果吗?
    • 动手试试

快闪

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

  • 编码
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]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果_第10张图片

  • 黑变白
  • 白变黑

图片描述

  • 颠倒黑白

8m

  • 8m对应隐藏

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

  • 隐藏比较复杂

    • 因为完全看不见了

9m

  • 9m对应中划线

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

  • 划掉

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

  • 不喜欢的统统划掉

字体设置

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

  • 10-19 定义为字体设置

    • 但是 实际上 没有效果

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

20-29

  • 20-29

    • 20 设置字体
    • 21-29部分和1-9一一对应

      • 是取消相应的效果

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

  • 1是变亮

    • 21 是取消变亮
  • 2是变暗

    • 22 是取消变暗
  • 23-29

    • 取消 3-9 的字体效果
  • 0 是全部取消

效果

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

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

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

  • 29m 可以专门地清除

    • 此后的 中划线样式
  • 但如果一开始的时候

    • 既有中划线样式
    • 又高亮
    • 会如何呢?

专门清除

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

  • 注意后面hate you 部分

    • 取消了下划线样式
    • 但没有取消高亮样式

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

  • 除非 控制序列的 新要求

    • 否则 标准输出流
    • 会一直保持 各种字体样式
  • 那么29m以后

    • 控制的又是什么呢?

29m以后

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

    • 前景色
    • 背景色

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

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

总结

  • 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]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果_第22张图片

你可能感兴趣的:(python)