[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语言 学的
- 这些特殊的东西
- 都和
\
反斜杠- 这个字符相关联
- 都和
- 为什么呢?
反斜杠
- 为什么管 这个方向的斜杠
- 叫
反斜杠
呢?
- 叫
- 斜杠是 成对儿的
- 有 斜杠
- 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
- 对应的ascii值 就是
- 键盘上的退格
- 转义的
本质
是什么 呢?
转义本质
- 转义转义转换含义!!!
\n
本来是 两个字符- 转义字符
\
反斜线- 把自己 和后面的字符
n
一起 - 构成了 转义序列
\n
- 把自己 和后面的字符
- 转换含义 成为 一个
新
的含义
- 原来的字符是
\
和n
- 转成新的含义为
换行
- 转成新的含义为
\r
就不是\
和r
了\r
是一个整体- 对应一个字符
- 整个对应 ascii 中
- 序号
13
的字符
- 序号
试试
- 就像
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
[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence的更多相关文章
- C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector
1.转义字符 一般有两种方式: \x后紧跟1个或多个十六进制数字.或\后紧跟1.2.3个八进制数字,当中数字部分是字符相应的数值. #include <iostream> using na ...
- 【等待事件】序列等待事件总结(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文档结 ...
- Scala _ 下划线
1.引入包中的全部方法 import math._ //引入包中所有方法,与java中的*类似 2.表示集合元素 val a = (1 to 10).filter(_%2==0).map(_*2) / ...
- 已知n个数的入栈序列,求一共有多少种出栈序列 (卡特兰数)
已知\(n\)个数的入栈序列,求一共有多少种出栈序列 这个经典问题有两种解法. 解法一: 设\(f(x)\)为\(x\)个数入栈后,再全部出栈的序列数量 假设我们有\(4\)个数\(a,b,c,d\) ...
- C#语法文本字面量
C#语法文本字面量 在日常生活中,文本用来表示除了数字以外的内容.例如有一个叫“比尔”的人,他的职位为“科长”.那么,“比尔”和“科长”都可以称为文本.在计算机里,现实世界中的文本通常被称为字符和字符 ...
- mysql基本语法
MySql一些基本语法 3.3.5 直接在数据库目录中创建或删除 用上述方法创建数据库,只是MySQL数据目录下面创建一个与数据库同名目录,同样删除数据库是把这个目录删除. 所以,你可以直接 ...
- 20160201.CCPP体系详解(0011天)
内容概要:C语言基本数据类型及运算题库(含答案) 第二章 基本数据类型及运算 一.选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是[C]. A) x1=26.8%3; B) 1+2=x2 ...
- 理解CSV格式规范(解析CSV必备)
什么是CSV逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录.每个记录由一个或多个字段组成,用逗号分隔.使 ...
- ORACLE 自动增长通过封装函数,方便调用
好的编程习惯,是一个很有必要的过程.好的编程习惯,可以因人而异,但是简单地.基本地代码级别的就那些:写注释.合理的缩进.换行.变量命名等. 对我们程序员来说,大部分时间都对着电脑,在对着电脑的大部分时 ...
- C#高级编程笔记 Day 1, 2016年8月 30日 名词定义
1.C# 中的命名空间 namespace,我觉得和Java中的package 差不多,相当于一个"包" 一样. 2.修饰符 static 修饰方法表示方法不能在类的实例化上执行, ...
随机推荐
- 卸载vsto插件的方法
现在发布博客园的博客已经可以直接在word上进行,word上的代码高亮插件也安装起了,不过,因为有源码的原因,我就对插件进行了更改,安装之后需要重新安装,有时候在再次安装得时候会提示已经安装过了,我就 ...
- Maven项目中整合SSH(pom.xml文件的配置详解)
Maven项目中整合SSH比较繁琐,需要解决版本冲突问题,博主在下面给出了pom.xml文件的配置信息,改配置文件整合的是:struts2-2.3.24.spring4.2.4.hibernate5. ...
- 关于DateFormater
一.关于时间的解析 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ& ...
- 基于WebSocket的modbus通信(三)- websocket和串口
WebSocket传递ModbusTCP数据包 错误纠正 上一篇还有个错误,就是客户端写数据时服务端不需要响应,但我的服务端响应了的.我选择改客户端,把写数据时接收到的响应丢弃. PrintBytes ...
- c# 拖拽列表顺序 | 拖拽合并分组 | 移除分组功能
动图演示: 背景: 一开始做功能的时候没有增加排序的索引(sort-index),后来要求做拖拽排序功能:所以写了这个不需要初始排序就可以完成的拖拽功能:如果是table表格排序逻辑和这个相似,这里拿 ...
- jquery的绑定和删除
// 基本语法形式 $().on( 事件类型 , 事件处理函数 ) // 删除事件处理函数 // 必须绑定的是 函数名称 才能删除 绑定的事件处理函数 ...
- 不好分类的好题Record
这里装的是一些不太好分类的. problem 1 给你 \(n\) 个序列,第 \(i\) 个序列的长度为 \(m_i\),要求在每个序列中选择一个数,每种选法的代价为选择的 \(n\) 个数之和,请 ...
- java springboot 读取自定义配置文件
java springboot 读取自定义配置文件 application.properties.test.properties maven中引用 : <dependency> <g ...
- Vue学习:12.生命周期实例
两个小例子,巩固一下生命周期钩子函数. 实例1:初始化渲染 实现功能: 在 Vue 实例数据为空的情况下,用户在一进入页面就向服务器发送请求获取数据,并在数据返回后进行动态渲染. 思路: 创建一个 V ...
- SpringMVC 流程?
a.用户发送请求至前端控制器 DispatcherServlet. b.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器. c.处理器映射器找到具体的处理器 ...