转义序列
回忆上次内容
- 上次回顾了
5bit-Baudot博多码的来历 - 从 莫尔斯码 到 博多码
- 原来
- 人 来 收发电报
- 现在
- 机器 来 收发电报
- 输入方式
- 从 电键
- 改成 键盘
- 输出方式
- 从 纸带
- 变成 打印纸张
- 后来
- 电传打字机ASR-33
- 成为 初代 经典终端
- 除了
\n 和 \r 之外
- 还有什么
特殊字符 吗?🤔
搜索 ASCII
- 找到
ascii的定义
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符](https://file.cfanz.cn/uploads/png/2023/01/09/5/11198G3RMU.png)
- 还有 好多
- 类似于
\n、\r的 特殊字符
动手试试
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _ci_02](https://file.cfanz.cn/uploads/png/2023/01/09/5/aF67O7342L.png)
- 总结一下
- 各种 转义字符
转义总结
\a
- 响铃 ␇ (bell)
- 电传打字机 回车前 都会预警
响铛
- 避免 回车过程中 误打字符
- 可以
- 手动发送编码
- 敲一下 这个铃铛
- 后来
- 是让 蜂鸣器 鸣叫
- 现在
- 终端 或者 服务器
- 一般没有 蜂鸣器
\b
- BackSpace
- 退回一格
\t
- table
- 水平制表符
- Horizontal Tab
- 效果是空四个格
\v、\f
- 效果就是
- 纯喂纸 不回车
黑暗森林
- 再看 ascii码表
- 黑暗森林
- 好像也没有 那么
神秘 了 - 已经 有些部分
展示出来 了
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_03](https://file.cfanz.cn/uploads/jpeg/2023/01/09/5/G7Ze7632W8.jpeg)
- 为什么 只能
\n
- 难道
/n 不行么? - 动手 试试!
实验
- 确实 不行!
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _ci_04](https://file.cfanz.cn/uploads/png/2023/01/09/5/Q8Z6Qc7b7b.png)
-
ascii的定义 是 源头 - python 对于这些字符的解释
- 是跟 c语言 学的
- 这些特殊的东西
- 都和
\反斜杠
- 这个字符相关联
- 为什么呢?
反斜杠
- 为什么管 这个方向的斜杠
- 叫
反斜杠 呢?
- 斜杠是 成对儿的
- 有 斜杠
- slash
- /
- 就有 反斜杠
- backslash
- \
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义_05](https://file.cfanz.cn/uploads/png/2023/01/09/5/eNJGQeBb3R.png)
- 我们一般都是
右利手
- 从上往下砍
- 都是 右上到左下
- slash 很顺手
- slash 这个词本身就是砍
- 用鞭子或者锋利的刃来砍
- 暴力的砍
- 主要是对于树来说的
- 顺手的就是 slash
- 反过来不顺手的就是
- backslash
- 对应的是不正常的
- 转化含义的
转义字符
- 转义字符
- escape code
- 有 逆向思维的感觉
- \自身 无法
- 构成一个 具体的字符
- 而是 要和后面的字符 一起
- 构成一个
转义字符
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_06](https://file.cfanz.cn/uploads/png/2023/01/09/5/IDO0705741.png)
- 转义用的 是
-
反斜杠 - \
- backslash
转义 Escape
\反斜杠(backslash)
- 加了其他字符 之后
- 字符 就不是 原来的字面意思 了
- 转义么
- 转义转义
- 转化含义
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_07](https://file.cfanz.cn/uploads/png/2023/01/09/5/EW03JF59AE.png)
- 所以
\反斜杠 这个字符
- 也叫做转义字符
-
Escape character
\b 这两个字符的序列
- 算是一个转义序列
Escape sequence
-
\ 这个转义字符 - 会让
\b转义序列 - 转义为
Backspace
- 退格这
1个字符
- 这个退格 是
- 转义序列
\b转化含义之后的 含义
- 这个 转化后的 含义
- 对应
1个 ascii字符
- 可以 在键盘
-
找到 这个字符 吗?
键盘
- 就是
\b
- 键盘上的<kbd>退格</kbd>
- 对应的ascii值 就是
8
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_08](https://file.cfanz.cn/uploads/png/2023/01/09/5/TV9N6J428N.png)
- 转义的
本质 是什么 呢?
转义本质
- 转义转义转换含义!!!😡
-
\n本来是 两个字符 - 转义字符
\反斜线
- 把自己 和后面的字符
n 一起 - 构成了 转义序列
\n
- 转换含义 成为 一个
新的含义
- 原来的字符是
\和n
- 转成新的含义为
换行
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_09](https://file.cfanz.cn/uploads/png/2023/01/09/5/CW5L706aaF.png)
\r就不是\和r了
-
\r是一个整体 - 对应一个字符
- 整个对应 ascii 中
- 序号
13的字符
试试
- 就像
a 对应 65 一样
-
\b 对应 8
\b 在 python3 的作用
- 退格
- 你发现了
12\ba 变成 1a 了么?
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _ci_10](https://file.cfanz.cn/uploads/png/2023/01/09/5/4E3Le2V755.png)
-
\b、\x08、chr(8) 是 同一个字符 - 但是这个
\x08
- 是什么意思?
继续转义
- 这个
x08 刚好是
- 退格对应字符的 ascii值
- <kbd>退格</kbd> 对应的值是
8
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义_11](https://file.cfanz.cn/uploads/png/2023/01/09/5/W1c1C540fd.png)
- 但这个 8 是
- (
0x08)<sub>16进制</sub> - 但是这个
x 是什么意思来着?
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义字符_12](https://file.cfanz.cn/uploads/png/2023/01/09/5/b9aG08aEb6.png)
x 的意思是 hexadecimal
- hex 就是 大着舌头说six
- 后面
2位 16进制数 - 刚好 对应 一个字节
总结
- 什么是 转义?
- 转义转义 转化含义
-
\ 是 转义字符 -
\n、\r是 转义序列
- 还有什么 转义序列 吗?
-
\a是 响铃 -
\b 退格键 -
\t 水平制表符 tab键 -
\v、\f 实现喂纸不回车
- 通过 16进制数值 转义
-
\xhh - 输出 (
hh)<sub>16进制</sub>对应的ascii字符
- 如果我们不输入
x
- 会发生什么呢?
![图片描述 [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence _转义_13](https://file.cfanz.cn/uploads/png/2023/01/09/5/WA65614QP7.png)
- 为什么会输出
S 呢?🤔 - 我们下次再说!👋
- 蓝桥->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









