[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 修饰方法表示方法不能在类的实例化上执行, ...
随机推荐
- quartzui 的界面管理
基于Quartz.NET3.0的定时任务Web可视化管理.docker打包开箱即用.内置SQLite持久化.语言无关.业务代码零污染.支持 RESTful风格接口.傻瓜式配置 quartzuiquar ...
- Mybatis-Plus update不存在的数据返回值一定为零?
MP update不存在的数据返回值一定为零? 本文分为以下几个部分: 前言 验证过程 结论 前言 MP(mybatis-plus),在 MyBatis 的基础上只做增强不做改变,为简化开发.提高 ...
- 阅读LXH《FFMPEG+SDL的视频播放器》总结
一.原文地址 https://blog.csdn.net/leixiaohua1020/article/details/46889389 在此向雷霄骅致敬!!! 二.视频播放器实现思路 1)视频播放器 ...
- LeetCode 673. Number of Longest Increasing Subsequence 最长递增子序列的个数 (C++/Java)
题目: Given an unsorted array of integers, find the number of longest increasing subsequence. Example ...
- Vue TypeScript 实战:掌握静态类型编程
title: Vue TypeScript 实战:掌握静态类型编程 date: 2024/6/10 updated: 2024/6/10 excerpt: 这篇文章介绍了如何在TypeScript环境 ...
- LLM应用实战:当图谱问答(KBQA)集成大模型(三)
1. 背景 最近比较忙(也有点茫),本qiang~想切入多模态大模型领域,所以一直在潜心研读中... 本次的更新内容主要是响应图谱问答集成LLM项目中反馈问题的优化总结,对KBQA集成LLM不熟悉的客 ...
- 2. Elasticsearch 使用插件和kibana操作
引言 在上一篇文章中1. Elasticsearch 入门安装与部署 已经教了大家如何在linux系统中安装和启动Elasticsearch,本文就带大家一起学习如何操作 Elasticsearch. ...
- 机器学习(一)——递归特征消除法实现SVM(matlab)
机器学习方法对多维特征数据进行分类:本文用到非常经典的机器学习方法,使用递归特征消除进行特征选择,使用支持向量机构建分类模型,使用留一交叉验证的方法来评判模型的性能. 构建模型:支持向量机(Suppo ...
- python 将查询到数据,处理成包含列名和数据的字典类型数据
try: self.connect_dbserver() self.cursor.execute(sql) res = self.cursor.fetchall() # 返回的是数组的类型 print ...
- 【iOS】Class对构造简洁代码很有帮助
(这到底取的是什么标题啊) 首先先看这段代码(有删减) @property (nonatomic, copy)NSMutableArray <NSMutableArray *>*datas ...