[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence
转义序列
回忆上次内容
上次回顾了
5bit-Baudot
博多码的来历从 莫尔斯码 到 博多码
从 纸带
变成 打印纸张
从 电键
改成 键盘
机器 来 收发电报
人 来 收发电报
原来
现在
输入方式
输出方式
后来
电传打字机ASR-33
成为 初代 经典终端
除了
\n
和\r
之外还有什么
特殊
字符 吗?🤔
搜索 ASCII
找到
ascii
的定义

还有 好多
类似于
\n
、\r
的 特殊字符
动手试试

总结一下
各种 转义字符
转义总结
\a
终端 或者 服务器
一般没有 蜂鸣器
是让 蜂鸣器 鸣叫
手动发送编码
敲一下 这个铃铛
避免 回车过程中 误打字符
响铃 ␇ (bell)
电传打字机 回车前 都会预警
响铛
可以
后来
现在
\b
BackSpace
退回一格
\t
table
水平制表符
Horizontal Tab
效果是空四个格
\v
、\f
纯喂纸 不回车
效果就是
黑暗森林
再看 ascii码表
好像也没有 那么
神秘
了已经 有些部分
展示
出来 了黑暗森林

为什么 只能
\n
难道
/n
不行么?动手 试试!
实验
确实 不行!

ascii
的定义 是源头
python 对于这些字符的解释
是跟 c语言 学的
这些特殊的东西
这个字符相关联
都和
\
反斜杠为什么呢?
反斜杠
为什么管 这个方向的斜杠
叫
反斜杠
呢?斜杠是 成对儿的
backslash
\
slash
/
有 斜杠
就有 反斜杠

我们一般都是
右
利手都是 右上到左下
slash 很顺手
slash 这个词本身就是砍
用鞭子或者锋利的刃来砍
顺手的就是 slash
暴力的砍
主要是对于树来说的
从上往下砍
反过来不顺手的就是
backslash
对应的是不正常的
转化含义的
转义字符
转义字符
构成一个
转义字符
构成一个 具体的字符
escape code
有 逆向思维的感觉
\自身 无法
而是 要和后面的字符 一起

转义用的 是
反
斜杠\
backslash
转义 Escape
\
反斜杠(backslash)字符 就不是 原来的字面意思 了
加了其他字符 之后
转义么
转义转义
转化含义

所以
\
反斜杠 这个字符Escape character
也叫做转义字符
\b
这两个字符的序列对应
1
个 ascii字符转义序列
\b
转化含义之后的 含义\
这个转义字符会让
\b
转义序列转义为
Backspace
退格这
1
个字符算是一个转义序列
Escape sequence
这个退格 是
这个 转化后的 含义
可以 在键盘
找到
这个字符 吗?
键盘
就是
\b
对应的ascii值 就是
8
键盘上的退格

转义的
本质
是什么 呢?
转义本质
转义转义转换含义!!!😡
把自己 和后面的字符
n
一起构成了 转义序列
\n
\n
本来是 两个字符转义字符
\
反斜线转换含义 成为 一个
新
的含义原来的字符是
\
和n
转成新的含义为
换行

\r
就不是\
和r
了序号
13
的字符\r
是一个整体对应一个字符
整个对应 ascii 中
试试
就像
a
对应65
一样\b
对应8
\b
在 python3 的作用退格
你发现了
12\ba
变成1a
了么?

\b
、\x08
、chr(8)
是 同一个字符但是这个
\x08
是什么意思?
继续转义
这个
x08
刚好是退格对应字符的 ascii值
退格对应的值是
8

但这个 8 是
(
0x08
)16进制但是这个
x
是什么意思来着?

x
的意思是hexadecimal
hex 就是 大着舌头说six
后面
2
位16
进制数刚好 对应 一个字节
总结
什么是 转义?
转义转义 转化含义
\
是 转义字符\n
、\r
是 转义序列还有什么 转义序列 吗?
\a
是 响铃\b
退格键\t
水平制表符 tab键\v
、\f
实现喂纸不回车通过 16进制数值 转义
\xhh
输出 (
hh
)16进制
对应的ascii
字符如果我们不输入
x
会发生什么呢?

为什么会输出
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