Skip to main content

moregeek program

[oeasy]python0041-多极客编程

转义序列

回忆上次内容

  • 上次回顾了​​5bit-Baudot​​博多码的来历
  • 从 莫尔斯码 到 博多码
  • 原来
  • 人 来 收发电报
  • 现在
  • 机器 来 收发电报
  • 输入方式
  • 从 电键
  • 改成 键盘
  • 输出方式
  • 从 纸带
  • 变成 打印纸张
  • 后来
  • 电传打字机ASR-33
  • 成为 初代 经典终端
  • 除了 ​​\n​​ 和 ​​\r​​ 之外
  • 还有什么 ​​特殊​​字符 吗?🤔

搜索 ASCII

  • 找到 ​​ascii​​的定义

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

  • 还有 好多
  • 类似于​​\n​​、​​\r​​的 特殊字符

动手试试

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

  • 总结一下
  • 各种 转义字符

转义总结

  • ​\a​
  • 响铃 ␇ (bell)
  • 电传打字机 回车前 都会预警​​响铛​
  • 避免 回车过程中 误打字符
  • 可以
  • 手动发送编码
  • 敲一下 这个铃铛
  • 后来
  • 是让 蜂鸣器 鸣叫
  • 现在
  • 终端 或者 服务器
  • 一般没有 蜂鸣器
  • ​\b​
  • BackSpace
  • 退回一格
  • ​\t​
  • table
  • 水平制表符
  • Horizontal Tab
  • 效果是空四个格
  • ​\v​​、​​\f​
  • 效果就是
  • 纯喂纸 不回车

黑暗森林

  • 再看 ascii码表
  • 黑暗森林
  • 好像也没有 那么​​神秘​​ 了
  • 已经 有些部分 ​​展示​​出来 了

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

  • 为什么 只能​​\n​
  • 难道 ​​/n​​ 不行么?
  • 动手 试试!

实验

  • 确实 不行!

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

  • ​ascii​​的定义 是 ​​源头​
  • python 对于这些字符的解释
  • 是跟 c语言 学的
  • 这些特殊的东西
  • 都和 ​​\​​反斜杠
  • 这个字符相关联
  • 为什么呢?

反斜杠

  • 为什么管 这个方向的斜杠
  • 叫 ​​反斜杠​​ 呢?
  • 斜杠是 成对儿的
  • 有 斜杠
  • slash
  • /
  • 就有 反斜杠
  • backslash
  • \

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

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

转义字符

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

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

  • 转义用的 是
  • ​反​​斜杠
  • \
  • backslash

转义 Escape

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

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

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

键盘

  • 就是 ​​\b​
  • 键盘上的<kbd>退格</kbd>
  • 对应的ascii值 就是 ​​8​

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

  • 转义的​​本质​​ 是什么 呢?

转义​​本质​

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

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

  • ​\r​​就不是​​\​​和​​r​​了
  • ​\r​​是一个整体
  • 对应一个字符
  • 整个对应 ascii 中
  • 序号​​13​​的字符

试试

  • 就像 ​​a​​ 对应 ​​65​​ 一样
  • ​\b​​ 对应 ​​8​
  • ​\b​​ 在 python3 的作用
  • 退格
  • 你发现了 ​​12\ba​​ 变成 ​​1a​​ 了么?

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

  • ​\b​​、​​\x08​​、​​chr(8)​​ 是 同一个字符
  • 但是这个​​\x08​
  • 是什么意思?

继续转义

  • 这个​​x08​​ 刚好是
  • 退格对应字符的 ascii值
  • <kbd>退格</kbd> 对应的值是 ​​8​

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

  • 但这个 8 是
  • (​​0x08​​)<sub>16进制</sub>
  • 但是这个 ​​x​​ 是什么意思来着?

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

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

©著作权归作者所有:来自51CTO博客作者overmind1980的原创作品,请联系作者获取转载授权,否则将追究法律责任

场景编程集锦 - 吉米的总统梦想-多极客编程

1. 场景描述   吉米是太平洋岛国一个贫苦家庭的孩子,他的梦想就是当总统,引领国家走向富强之路。   开学的第一堂课上,老师用白色的粉笔在黑板上写下了“我的梦想”,同学们都陷入了思考。大卫的梦想是当一名科学家,用奇思妙想改变世界,探索人类未知的秘密;杰克的梦想是当一名妙手回春的医生,用高超的医术解除病人的痛苦;迪娜的梦想是当一名歌手,让自己的歌声传遍世界的每一个角落;吉米的梦想是当总统,刚说到这

场景编程集锦-懵懂的青春-多极客编程

1. 场景描述“等待着下课,等待着放学,等待游戏的童年"。当罗大佑这首耳熟能详的“童年”再度想起的时候,你和我是否都会被这个熟悉的旋律带回到那个只属我们的懵懂年代?你还记得那个“同桌的你”吗?那个周杰伦唱到的“等你下课”的人,如今身在何方?在那样一个没有手机微信和短信传递讯息的年代,你是否经历或见证过这样的场景,通过一张张“小纸条”,给那个心仪的“她/他”传递浪漫?那些曾经在课堂上冒险传递诸如:“

场景编程集锦-电闪雷鸣的数学联想-多极客编程

1. 场景描述电闪雷鸣总能给人许多的联想。我联想到了电闪雷鸣、暴雨倾盆、山洪爆发、洪水泛滥的灾难场景,这种现象在中国古代通常被解释为“冒犯神灵,雷神发怒”的因果关系。我联想到了著名的风筝实验。1752年,美国科学家本杰明·富兰克林用风筝和钥匙做了一次科学实验,他冒着雷击的危险用风筝把雷电引下来,证明了闪电是一种放电现象。富兰克林关于天上和人间的电是同一个东西的假说,在这次实验中得到了光辉的证实。这

场景编程集锦 - 你是谁?-多极客编程

1. 场景描述   或许是近年来电话推销机器人太泛滥了,常常搞得正常的电话销售“灰头土脸”。有人为了验证对方究竟是人还是机器,竟想出来各种各样的奇葩手段。最近一小伙接到了一个汽车推销电话,但他听声音无法判断对方是不是人工客服人员。尽管对方在电话里反复声称自己是“真人”,可男子还是不肯相信,竟然提出让客服人员即兴背诵唐诗《陋室铭》,以此证明自己不是人工智能机器人,令人啼笑皆非。其实在这个场景中涉及

使用python+opencv从摄像头逐帧读取图片保存在本地-多极客编程

今天测试的时候,遇到了一个问题,测试需求是,需要把摄像头拍摄的实时视频逐帧率保存下来。 经过查阅资料以及网友帮助,目前已经完成。记录下来希望可以帮助有需要的朋友。 1、思路 使用Python+Opencv,从摄像头的实时视频流中逐帧读取图片,保存到本地 2、工具 安装Python 安装Opencv 3、分类 目前测试的过程中遇到了三种类型的摄像头数据读取,分别是: USB普通摄像机:

场景编程集锦 - 捏紧你的钱袋子-多极客编程

1. 场景描述 下面是一通电话的通话内容: 陌生人:“李总,最近还好吗?” 李总:“您是哪一位?” 陌生人:“我的声音听不出来啦?” 李总:“有点耳熟,想不起来。” 陌生人:“猜猜我是谁?” 李总:“想起来啦,你是猪二娃!” 陌生人:“对啊!” 李总:“猪二娃两年前就死啦!” 陌生人狠狠地挂断了电话。   哈哈哈,高手在民间!想必电话那头的陌生人肺都要气炸了。这是一个典型的电信诈骗套路,幽默睿智

场景编程集锦 - 吉米的总统梦想-多极客编程

1. 场景描述   吉米是太平洋岛国一个贫苦家庭的孩子,他的梦想就是当总统,引领国家走向富强之路。   开学的第一堂课上,老师用白色的粉笔在黑板上写下了“我的梦想”,同学们都陷入了思考。大卫的梦想是当一名科学家,用奇思妙想改变世界,探索人类未知的秘密;杰克的梦想是当一名妙手回春的医生,用高超的医术解除病人的痛苦;迪娜的梦想是当一名歌手,让自己的歌声传遍世界的每一个角落;吉米的梦想是当总统,刚说到这

场景编程集锦-懵懂的青春-多极客编程

1. 场景描述“等待着下课,等待着放学,等待游戏的童年"。当罗大佑这首耳熟能详的“童年”再度想起的时候,你和我是否都会被这个熟悉的旋律带回到那个只属我们的懵懂年代?你还记得那个“同桌的你”吗?那个周杰伦唱到的“等你下课”的人,如今身在何方?在那样一个没有手机微信和短信传递讯息的年代,你是否经历或见证过这样的场景,通过一张张“小纸条”,给那个心仪的“她/他”传递浪漫?那些曾经在课堂上冒险传递诸如:“

jdk7 和jdk8的arraylist的区别对比-多极客编程

示例 public class ArrayListTest { public static void main(String[] args) { ArrayList<Object> jdk = new ArrayList<>(); jdk.add(123); } } 初始化操作 ①调用无参构造器 jdk7从无参调用有参构造器

【xml】xml解析与校验-多极客编程

Student@XmlRootElement(name = "Root")public class Student { private String id; private String name; private String age; private StdClass stdClass; @XmlElement(name = "ID") public Str

一文了解 dubbo 3 配置工作原理-多极客编程

以下是一个 Dubbo 属性配置的例子 dubbo-spring-boot-samples ## application.properties # Spring boot application spring.application.name=dubbo-externalized-configuration-provider-sample # Base packages to

openapi 和 grpc 一起使用-多极客编程

花一些时间使用 OpenAPI 和 gRPC,您会发现这两种技术有很多共同点。两者都是开源成果,都描述了 API,并且都承诺为 API 生产者和消费者提供更好的体验。那么为什么我们需要两者呢?如果我们这样做,每个提供什么价值?每个项目可以从另一个项目中学到什么? 我们需要谈谈 API。 OpenAPI 和 gRPC 是构建网络 API的两种方法。引用Google API Design Guide