Python学习笔记 | 转义符太简单,但却很容易出错,常常被人忽略

Python学习笔记 | 转义符太简单,但却很容易出错,常常被人忽略仅此而已,所以我一直没重视,今天偶尔深入一下,发现这里面的小细节还不少,记一下笔记吧!【 \n 和 \r 】:\n,NewLine,新行的意思;

大家好,欢迎来到IT知识分享网。

转义符,由一个 \ 后面加一个字母或符号组成的具有特殊意义的符号,放在字符串里可以控制字符串的输出格式。仅此而已,所以我一直没重视,今天偶尔深入一下,发现这里面的小细节还不少,记一下笔记吧!

Python学习笔记 | 转义符太简单,但却很容易出错,常常被人忽略

Python转义符


【 \n 和 \r 】:\n,NewLine,新行的意思;\r,Return,回车的意思

为什么要把这两个转义符放到一起说呢?因为原来我一直认为回车就是换行,这两个转义符根本就是同一个意思!这是受了电脑的影响。在电脑文本编辑页面,敲键盘的回车键就是换行,但是python转义符里面所说的,其实指的是老式英文打字机的换行和回车。过去的英文打字机是机械式的,带着纸张来回移动的部件叫纸车,回车杆就是负责让纸车回到纸张第一个位置,所以叫回车,但并不换行。而换行杆就是让纸张向上移动一次,达到换行的目的。

弄清了换行和回车的含义,下面在pycharm里输入两行代码,然后看看执行效果:

print('hello\nworld') print('hello\rworld')

输出结果:

hello world world

前两行是转义符\n的效果,两个字符串在两行输出;第三行是\r的效果,首先输出了字符串hello,然后遇到回车转义符,光标移到了行首位置,再输出world,所以覆盖了hello字符串。


【 \t 】:Tab,制表位的意思,相当于按下键盘的Tab键

在打印字符串时,如果遇到转义符\t,则跳到下一个制表位再继续打印。如果对制表位Tab没有特殊定义,默认是4个字符是一个制表位。一直以为转义符\t就是加4个空格,结果仔细研究发现还是存在问题。下面看如下代码:

print('hello\tworld') print('helloo\tworld') print('hellooo\tworld') print('helloooo\tworld')

再看看输出结果:

hello world helloo world hellooo world helloooo world

第一行两个字符串之间有3个空格,第二行是2个空格,第三行是1个空格,第四行是4个空格。为什么同样使用\t转义符,而每行输出的字符串之间不全是4个空格呢?

【解释】这是因为python将转义符 \t 前边的字符全都要统计到制表位里,先看第一条语句中转义符\t前边的字符串hello,前边4个字符hell正好占了一个制表位,还剩下一个字符o,这时执行转义符\t跳到下一个制表位,是表示包含了字符o的4个字符宽度,也就是在字符o后面加3个空格补齐一个制表位。同理,第二行语句去掉前边的一个制表位,剩余2个字符,那么输出时就加2个空格,第三行输出时加1个空格,而第四行转义符前边正好是8个字符,也就是2个完整的制表位,这时执行转义符\t就是跳了一个完整的制表位——4个空格!汗汗汗


【 \\ \’ 和 \” 】强制输出一个反斜杠、单引号和双引号

应用场景:

  • 调用文件路径
open('D:\\python项目文件\\图形界面\\note.txt')

路径里如果只使用一个反斜杠 \ ,系统默认为 \ 跟后面的字符是转义符,那么这个路径就全乱套了。

  • 输出单引号或双引号
print('I\'m Tom')

输出结果是:I’m Tom

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/55438.html

(0)
上一篇 2024-07-26 12:15
下一篇 2024-07-26 15:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信