欢迎光临散文网 会员登陆 & 注册

[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence

2023-01-09 13:10 作者:oeasy  | 我要投稿

转义序列

回忆上次内容

  • 上次回顾了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\x08chr(8) 是 同一个字符

  • 但是这个\x08

    • 是什么意思?

继续转义

  • 这个x08 刚好是

    • 退格对应字符的 ascii值

    • 退格对应的值是 8

  • 但这个 8 是

    • (0x08)16进制

    • 但是这个 x 是什么意思来着?

  • x 的意思是 hexadecimal

    • hex 就是 大着舌头说six

    • 后面 216进制数

    • 刚好 对应 一个字节

总结

  • 什么是 转义?

    • 转义转义 转化含义

    • \ 是 转义字符

    • \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



[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence的评论 (共 条)

分享到微博请遵守国家法律