说说转义字符 “\” | 您所在的位置:网站首页 › 转义字符都有什么 › 说说转义字符 “\” |
转义字符-escape character character 表示字符,包含两层含义, 1.字母 2.符号 转义: 改变含义 字符: 字母、符号 转义字符: 把 字母、符号 的含义改变了注意:这里有 2 个常常被忽视、忽略、轻视的转义规则, 1.一对一的转义, 就是说,\只对离它最近的那一个,字母或符号进行转义, 2.只进行表层转义,不会进行嵌套或者递归转义(举例:\\\\ 在python 看来是 \\ 而不是 \),这里看不懂就往下看,看到最后就明白什么意思了。 一 计算机语言中,用 \ 实现转义的功能 其实,就是人为规定,给\多增加赋予了一个特殊的含义,\本身是个符号 反斜杠,同时它在编程语言中,还具备一个含义是告诉编程语言看到它的时候,就要开始做转义的工作了。 c族、java、python 这些语言都要遵守这个规则,编程语言一旦看到 \,就知道 \ 后面的字符有了新的含义,跟在\后面的字符就不再是它原有具备的意思了。 来看,计算机语言中最典型的两个 被转了义的字母 LF/NL(Line Feed/New Line) 换行 \n CR (Carriage Return) 回车 \r 当 字母 n 前面没有 \ 的时候,它就是一个普通的英文字母(字母表中排序第 14 位) ,可以和别的字母站在一起,形成一个单词,这就是它的含义, 比如:sun、on、know 但是,当 字母 n 前面有 \ 的时候,它就不再是那个普普通通的英文字母 n 了,它有了新的含义,这个含义,需要编程语言在看到 \ 的时候,去查询 计算机语言的规则(约定俗成、都必须遵守的章程),然后找到了它的新的含义是 回车(Carriage Return) ,然后编程语言就执行回车的命令,来实现回车功能。 拿 python 语言来举个例子, python 语言,是个有自己的解释器的语言,顺便解释一下 解释器,当你用记事本写了一段代码保存成了 py 文件,然后直接交给操作系统去执行,操作系统就懵逼了,你要嘎哈,你想嘎哈,面对着你编写的程序不知所措,这时候,就需要 python 用自带的 解释器 帮你把代码翻译给操作系统,操作系统就明白了原来你是让操作系统启动核弹发射器,然后操作系统就按照你的意图,跟随 python 解释器的翻译一步一步执行你的代码去毁灭世界了。 那么,你在写程序的时候,突然想让你的程序输出个换行(程序运行的时候),该怎么办? 那该有同学说了:那还不简单按个回车呗,没错按个回车确实能换行,但这个换行只是给你自己看的(编程的时候),而你要求的是,在别人执行你的程序时看到换行(编写程序的时候和程序运行的时候是两个不同的时态),你总不能跟着你的程序到处跑,等程序执行到换行那一步的时候,由帅气的你亲自按下回车键吧,如果只是一个电脑运行你的程序还好,那要是全国人民都在运行你的程序,你就是化身齐天大圣恐怕也忙不过来了吧。 用转义字符就能解决这个棘手的问题, 在你的程序里写入代码 \n ,当程序运行的时候,python 看到符号 \ 就知道 \后面的 n 不再是普通字母了,于是立即去尝试解释并到编程语言规则表里查到 n 是换行的意思,就进行了换行操作。你的程序就顺利的执行下去,全国人民笑开颜。 好了,目前我们知道了一个普通的字母跟在\后面就有了新的含义,那符号捏? 二 咱们也别拐弯抹角的啦,直接上高难度的,\\ 是啥意思, 拿上面的规则套呗,当程序中出现了\,编程语言就会开始准备做转义处理, \后面的字母、符号,表示这个字母、符号具备了新的意义, 但这次发现\后面跟的不是字母,而是符号,一查规则表里说了,跟在\后面的符号,就变成了普通的符号(文本的,字面上的,或者说字面打印),而不再具备其他的任何附加的功能和含义了,就是一个单纯的字面上的文本符号, 来跑段代码试试: 1.\n \n表示换行,因此,字母a 和 字母b被打印到了不同的行上, 三 加高难度, 加深理解 先看代码: 四 假如我们在python里再使用正则表达式模块re ,会有什么不同吗?
因此,re 根据匹配规则,在字符串 str_test 里搜索 文本双字符(两个反斜杠) \\,共找到 3 对 \ ,即 3 个 \\ 看到这里,必须整明白了吧,不许还有糊涂的。 否则就参加不上第三次世界大战了。 march the 07th 2023 Tuesday |
CopyRight 2018-2019 实验室设备网 版权所有 |