[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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章