光标位置 回憶上次内容
- 上次我們研究的比較雜
- 類型轉化
- 進制轉化
- 捕獲異常
- 版本控制
- 生成幫助文檔
- 變量的常用類型
- 變量的生命周期控制
- 資料類型主要研究了兩個
- 字元串
- str
- 整型數字
- int
- 字元串型 和 整型數字型變量
- 是可以互相轉化的
- 加法運算邏輯 會根據操作變量的不同 而不同
- 整型變量的加法 是真的加
- 字元串的加法 是字元串拼接
- 字元串中有一些轉義字元
- \n
- \r
- \t
- 都是什麼意思來着??
- 還有什麼沒見過的轉字元嗎??
回憶轉義
- 轉義轉義
- 轉化含義
添加圖檔注釋,不超過 140 字(可選)
- 下圖中hello的o
- 為什麼消失了?
添加圖檔注釋,不超過 140 字(可選)
- \b 是一個字元
- 代表的含義是倒退
- hello中的o
- 被倒退符删除了
- 如果不用chr
- 想要直接打出上面的效果
- 應該怎麼辦呢?
直接加起來
添加圖檔注釋,不超過 140 字(可選)
- 想要用\b替換chr(8)
- 程式報錯了
添加圖檔注釋,不超過 140 字(可選)
- 續行符(\)之後
- 有不期待的字元
- 想要獲得同樣的字元
- 應該怎麼辦呢?
反斜杠的作用
- \反斜杠(backslash) 在程式裡面的作用
- 是續行符
- line continuation character
- 當把\反斜杠(backslash)放入雙引号裡面之後
- \反斜杠 就是 轉義字元
- escape character
- 轉義字元
- 在字元串中有特殊的含義
- 可以和後面的字元一起
- 構成轉義序列
- escape sequence
添加圖檔注釋,不超過 140 字(可選)
- 在下圖中
- \b 就是轉義序列
- escape sequence
- \b 這個轉義序列
- 是由兩部分組成
- \ 轉義字元
- escape character
- b 具體轉到的含義
添加圖檔注釋,不超過 140 字(可選)
- 這兩個字元的序列組合起來的意思
- 就是倒退
- backspace
- 還有什麼轉義字元嗎?
換行
- \n 這個轉義序列的意思是
- line feed
- 換行
添加圖檔注釋,不超過 140 字(可選)
- \r 這個轉義序列的意思是
- carriage return
- 回車
添加圖檔注釋,不超過 140 字(可選)
| 轉義序列 | 中文含義 | 英文含義 | ascii序号 | | --- | --- | --- | --- | | \b | 倒退 | backspace | 8 | | \t | 制表鍵 | tab | 9 | | \n | 換行 | line feed | 10 | | \r | 回車 | carriage | 13 |
- 可以看到更多的轉義字元嗎?
轉義 Escape
- 回憶
- 可以用八進制
- \ooo
- 用十六進制
- \xhh
- 來表示轉義字元
添加圖檔注釋,不超過 140 字(可選)
- 這就是全部轉義字元了嗎?
控制字元
- 轉義字元
- 具有一定的控制作用
- 也被叫做 控制字元
- control characters
- 以下就是
- ascii中的全部轉義字元
添加圖檔注釋,不超過 140 字(可選)
- 居然有轉義序列
- 轉義之後的的含義是 escape
搜尋結果
- 來回顧一下
- \是轉義字元
- 要和後面的字元一起構成轉義序列
- \e是轉義序列
- 也被稱作 逃逸字元
- escape
添加圖檔注釋,不超過 140 字(可選)
- 這 逃逸字元 escape
- 逃逸指的是什麼意思呢?
- 我們來試試
動手實驗
- 實踐證明
- 直接使用\e是不行的
添加圖檔注釋,不超過 140 字(可選)
- 但是可以使用
- \e 的 8進制形式
- 用 \033 代替 \e
添加圖檔注釋,不超過 140 字(可選)
- 這樣可以控制輸出字元串的位置!!!
了解Escape
- 真的可以逃逸出 目前輸出序列
- 控制定位 再輸出
- 從正常的輸出流
- 逃逸到了 控制序列!!!
添加圖檔注釋,不超過 140 字(可選)
逃逸
- 從标準輸出序列中逃逸出來
添加圖檔注釋,不超過 140 字(可選)
- 可以讓輸出
- 從目前的字元串序列中
- 退出(Escape) 出去
- 後面的内容
- 可就不是 輸出的文本 了
- 而是 控制序列(Control Sequence)
- [10;20H 控制 輸出位置
- 在第10行第20列進行輸出
- 那為什麼有控制序列呢?
緣起
- 電傳打字機 輸出的顔色
- 隻能通過 控制色帶(類似于墨盒)
- 來控制 列印顔色的深淺
- 是實體過程
添加圖檔注釋,不超過 140 字(可選)
- 早期的終端
- 通過調節 顯示器亮度
- 來改變顯示效果
- 各個終端的 制造商
- 都有 自己獨特的 控制字元
- 這些特殊字元 是和 機器型号相關 的
- 隻要 接受到 這些控制字元
- 終端 就可以 調整輸出方式
- 但是 并沒有統一标準
統一标準
- 但是不同終端
- 控制方式不同
- 可能 造成顯示狀态 異常
- 遠端終端輸出結果不可控
- 需要一個關于控制字元的統一标準
- 1964 年 ISO 646
- 在歐洲以ECMA-6的形式存在
- 後來被ANSI(American National Standards Institute)
- 整合為工業标準
- 叫做 ANSI X3.64
添加圖檔注釋,不超過 140 字(可選)
- 這個字元集 是不是很像 ascii
- 而且包括了 整個黑暗森林
- 這套标準
- 本來 在各種電傳打字機 被實作
- 後來 在各種終端中 被實作
- 現在 在terminal軟體 被實作
esc 鍵
- Teletype Model ASR-33 終端鍵盤
- 資料通信行業 最受歡迎的終端之一
- 1963 年推出
- 注意 shift 和 ctrl 都已經出現
- Alt Mode 出現在第 1 列
添加圖檔注釋,不超過 140 字(可選)
- \e這個轉義序列
- 有了對應的按鍵嗎?
- ALT MODE
- 是用來 切換模式的 特殊按鍵
- 這是當時的 esc 鍵 嗎?
總結
- 這次了解了 新的轉義模式
- \033 逃逸控制字元 escape
- 這個字元 讓字元串 退出标準輸出流
- 進行控制資訊的設定
- 可以設定 光标輸出的位置
添加圖檔注釋,不超過 140 字(可選)
- ASR33中的ALT MODE
- 是 今天的ESC鍵嗎????
- 我們下次再說!
- 藍橋->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython