转义序列

回忆上次内容

  • 上次回顾了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语言 学的
  • 这些特殊的东西
    • 都和 \反斜杠

      • 这个字符相关联
  • 为什么呢?

反斜杠

  • 为什么管 这个方向的斜杠

    • 反斜杠 呢?
  • 斜杠是 成对儿的
    • 有 斜杠

      • slash
      • /
    • 就有 反斜杠
      • backslash
      • \

  • 我们一般都是 利手

    • 从上往下砍

      • 都是 右上到左下
      • slash 很顺手
      • slash 这个词本身就是砍
      • 用鞭子或者锋利的刃来砍
        • 暴力的砍
        • 主要是对于树来说的
      • 顺手的就是 slash
  • 反过来不顺手的就是
    • backslash
    • 对应的是不正常的
    • 转化含义的

转义字符

  • 转义字符

    • escape code
    • 有 逆向思维的感觉
    • \自身 无法
      • 构成一个 具体的字符
    • 而是 要和后面的字符 一起
      • 构成一个 转义字符

  • 转义用的 是

    • 斜杠
    • \
    • backslash

转义 Escape

  • \反斜杠(backslash)

    • 加了其他字符 之后

      • 字符 就不是 原来的字面意思 了
  • 转义么
    • 转义转义
    • 转化含义

  • 所以\反斜杠 这个字符

    • 也叫做转义字符

      • Escape character
  • \b 这两个字符的序列
    • 算是一个转义序列 Escape sequence

      • \ 这个转义字符
      • 会让 \b转义序列
      • 转义为 Backspace
        • 退格这1个字符
    • 这个退格 是
      • 转义序列\b转化含义之后的 含义
    • 这个 转化后的 含义
      • 对应 1个 ascii字符
  • 可以 在键盘
    • 找到 这个字符 吗?

键盘

  • 就是 \b

    • 键盘上的退格

      • 对应的ascii值 就是 8

  • 转义的本质 是什么 呢?

转义本质

  • 转义转义转换含义!!!

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

  • \r就不是\r

    • \r是一个整体
    • 对应一个字符
    • 整个对应 ascii 中
      • 序号13的字符

试试

  • 就像 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的更多相关文章

  1. C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector

    1.转义字符 一般有两种方式: \x后紧跟1个或多个十六进制数字.或\后紧跟1.2.3个八进制数字,当中数字部分是字符相应的数值. #include <iostream> using na ...

  2. 【等待事件】序列等待事件总结(enq: SQ - contention、row cache lock、DFS lock handle和enq: SV - contention)

    [等待事件]序列等待事件总结(enq: SQ - contention.row cache lock.DFS lock handle和enq: SV -  contention) 1  BLOG文档结 ...

  3. Scala _ 下划线

    1.引入包中的全部方法 import math._ //引入包中所有方法,与java中的*类似 2.表示集合元素 val a = (1 to 10).filter(_%2==0).map(_*2) / ...

  4. 已知n个数的入栈序列,求一共有多少种出栈序列 (卡特兰数)

    已知\(n\)个数的入栈序列,求一共有多少种出栈序列 这个经典问题有两种解法. 解法一: 设\(f(x)\)为\(x\)个数入栈后,再全部出栈的序列数量 假设我们有\(4\)个数\(a,b,c,d\) ...

  5. C#语法文本字面量

    C#语法文本字面量 在日常生活中,文本用来表示除了数字以外的内容.例如有一个叫“比尔”的人,他的职位为“科长”.那么,“比尔”和“科长”都可以称为文本.在计算机里,现实世界中的文本通常被称为字符和字符 ...

  6. mysql基本语法

    MySql一些基本语法      3.3.5 直接在数据库目录中创建或删除 用上述方法创建数据库,只是MySQL数据目录下面创建一个与数据库同名目录,同样删除数据库是把这个目录删除. 所以,你可以直接 ...

  7. 20160201.CCPP体系详解(0011天)

    内容概要:C语言基本数据类型及运算题库(含答案) 第二章 基本数据类型及运算 一.选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是[C]. A) x1=26.8%3; B) 1+2=x2 ...

  8. 理解CSV格式规范(解析CSV必备)

    什么是CSV逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录.每个记录由一个或多个字段组成,用逗号分隔.使 ...

  9. ORACLE 自动增长通过封装函数,方便调用

    好的编程习惯,是一个很有必要的过程.好的编程习惯,可以因人而异,但是简单地.基本地代码级别的就那些:写注释.合理的缩进.换行.变量命名等. 对我们程序员来说,大部分时间都对着电脑,在对着电脑的大部分时 ...

  10. C#高级编程笔记 Day 1, 2016年8月 30日 名词定义

    1.C# 中的命名空间 namespace,我觉得和Java中的package 差不多,相当于一个"包" 一样. 2.修饰符 static 修饰方法表示方法不能在类的实例化上执行, ...

随机推荐

  1. containerd 源码分析:kubelet 和 containerd 交互

    0. 前言 Kubernetes:kubelet 源码分析之创建 pod 流程 介绍了 kubelet 创建 pod 的流程,其中介绍了 kubelet 调用 runtime cri 接口创建 pod ...

  2. 解决老旧电脑在win7中浏览器访问https网站出现的Let‘sEncrypt证书过期的问题

    原因LetsEncrypt证书未过期,但是其顶级ca根证书 "DST Root CA X3"在2021-09-01过期了,老旧设备上的win系统会被影响到. 解决步骤下载三张Let ...

  3. NumPy 均匀分布模拟及 Seaborn 可视化教程

    均匀分布 简介 均匀分布是一种连续概率分布,表示在指定范围内的所有事件具有相等的发生概率.它常用于模拟随机事件,例如生成随机数或选择随机样本. 参数 均匀分布用两个参数来定义: a:下限,表示分布的最 ...

  4. Python保姆级教程 数据类型—新手小白入门必看系列

    推荐使用压缩软件和杀毒软件 7 - zip 使用火绒 一.基本数据类型与变量(上) 2.1 注释 优点: 代码说明 没注释的代码 有注释的代码 不让解释器执行注释的那句话 2.2 单行注释 单行注释快 ...

  5. codemirror-editor-vue3 编辑器只要换行保存就会有小红点

    先看示例 找了篇博客写的贼详细 https://blog.csdn.net/xujingyiss/article/details/118992763 只要设置这二个        let conten ...

  6. kettle从入门到精通 第三十九课 kettle 增量同步(日级)

    1.上一课我们学习了在数据量大的情况下的分页全量同步示例,本次我们一起学习下kettle 增量全量同步.有些业务场景不需要实时数据,比如统计t-1日的销售业绩情况等.   2.kettle增量全量同步 ...

  7. 给 ES 插上向量检索的翅膀 | DataFunSummit 2023 峰会演讲内容速达

    近日,由 DataFun 主办的 DataFunSummit 2023 数据基础架构峰会 圆满落下帷幕,本次峰会邀请了腾讯.百度.字节.极限科技.Zilliz 等众多企业技术专家为大家带来分布式存储以 ...

  8. EF 字段 4位小数 四位小数

    默认情况下只能保存2位小数.如果有字段需要4位小数则: 在OnModelCreating方法中添加一行: modelBuilder.Entity<SissMerchantBillRate> ...

  9. categraf托管与自升级

    categraf支持多种方式进行部署.托管,社区里部署和管理categraf也是五花八门,大家自己使用方便即可. 之前我们觉得大家通过ansible之类的工具批量下发/更新就能很简单地完成任务,最近很 ...

  10. Scrapy框架(五)--请求传参

    在某些情况下,我们爬取的数据不在同一个页面中,例如,我们爬取一个电影网站,电影的名称,评分在一级页面,而要爬取的其他电影详情在其二级子页面中. 这时我们就需要用到请求传参. 请求传参的使用场景 当我们 ...