[oeasy]python0070_ 字體樣式_下劃線_中劃線_閃動效果_反相_取消效果
字體樣式
回憶上次內(nèi)容
m 可以改變字體樣式
0-10 之間設(shè)置的都是字體效果

0 復(fù)原
1 變亮
2 變暗

從3到10 又是什么效果 呢??
真的可以blink閃爍嗎???
3m

3m 實現(xiàn)斜體字的效果
4m

4m 對應(yīng)著下劃線

控制范圍

通過控制字符串的位置
可以控制效果范圍
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")
標(biāo)準(zhǔn)輸出流中的 所有文字
都可以 控制樣式
屬性可以疊加嗎?
屬性疊加
先變亮(\033[1m)、再加下劃線(\033[4m)
先加下劃線(\033[4m)、再變亮(\033[1m)
效果一樣

可以 交換次序

變暗 也可以 與下劃線疊加
可以 簡化控制序列 嗎?
簡化寫法
合并同類項
把需要加的標(biāo)記 進行匯總
用;做為分割符

這套規(guī)則 來自于
什么
呢?
VT100
規(guī)則來自于 終端一代神機
DEC 的 VT100
下圖為 VT100 說明書

很多東西 都可以 從VT100看出端倪
八進制轉(zhuǎn)義
ESC
分號分隔符
4m是 下劃線
5m呢?
繼續(xù)嘗試
5m、6m 本應(yīng)是
快閃、慢閃

但是 現(xiàn)在看起來 效果是一樣的
可以 編程實現(xiàn)
快閃
效果嗎?動手試試
快閃

編碼
import timefor i in range(1000): ? ?if i % 2 == 0: ? ? ? ?print("\roeasy",end="") ? ?else: ? ? ? ?print("\r ? ? ",end="") ? ?time.sleep(0.2)
再往后看看
7m
7m 是反相
把前景和背景色交換

黑變白
白變黑

顛倒黑白
8m
8m對應(yīng)隱藏

隱藏比較復(fù)雜
因為完全看不見了??
9m
9m對應(yīng)中劃線

劃掉

不喜歡的統(tǒng)統(tǒng)劃掉
字體設(shè)置

10-19 定義為字體設(shè)置
但是 實際上 沒有效果

20-29
20-29
是取消相應(yīng)的效果
20 設(shè)置字體
21-29部分和1-9一一對應(yīng)

1是變亮
21 是取消變亮
2是變暗
22 是取消變暗
23-29
取消 3-9 的字體效果
0 是全部取消
效果
0m 確實可以清除此后所有的樣式
29m 可以專門地清除
此后的 中劃線樣式
但如果一開始的時候
既有中劃線樣式
又高亮
會如何呢?
專門清除
注意后面hate you 部分
取消了下劃線樣式
但沒有取消高亮樣式
除非 控制序列的 新要求
否則 標(biāo)準(zhǔn)輸出流
會一直
保持
各種字體樣式那么29m以后
控制的又是什么呢?
29m以后
居然好像真的是顏色設(shè)置了 ??
前景色
背景色
可以搞點 好玩的 東西啦!?。?/p>
總結(jié)
m 可以改變字體樣式
0-9 之間設(shè)置的都是字體效果
0 重置為默認(rèn)
1 變亮
2 變暗
3 斜體
4 下劃線
5 慢閃
6 快閃
7 前景背景互換
8 隱藏
9 中劃線
疊加效果
\33[1;3moeasy
;分割
取消效果
21 取消 1
22 取消 2
23 取消 3
一直到 29
0 是全部取消,回到默認(rèn)
最后發(fā)現(xiàn)
真的可以 設(shè)置顏色?????
我們下次再說!*
藍(lán)橋->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